2

Googleチャートの軸の色を黒に、背景色を透明に変更するのに助けが必要です...運がなくてもウェブ全体を見てきましたまた、CSSで試しましたが、まだ運がありません私は次のスクリプトを使用しています:

    //Set-up the values for the Axis on the chart
    $maxWeeks = count($priceResults);
    //Set chd parameter to no value
    $chd = '';
    //Limit in my example represents weeks of the year
    $limit = 52;

    //Start to compile the prices data
    for ($row = 0; $row < $limit; $row++) {
        //Check for a value if one exists, add to $chd
        if(isset($priceResults[$row]['price']))
        {
            $chd .= $priceResults[$row]['price'];
        }
        //Check to see if row exceeds $maxWeeks
        if ($row < $maxWeeks) {
            //It doesn't, so add a comma and add the price to array $scaleValues
            $chd .= ',';
            $scaleValues[] = $priceResults[$row]['price'];
        } else if ($row >= $maxWeeks && $row < ($limit - 1)) {
            //Row exceeds, so add null value with comma
            $chd .= '_,';
        } else {
            //Row exceeds and is last required value, so just add a null value
            $chd .= '_';
        }
    }

    //Use the $scaleValues array to define my Y Axis 'buffer'
    $YScaleMax = round(max($scaleValues)) + 5;
    $YScaleMin = round(min($scaleValues)) - 5;
    //Generate the number of weeks of the year for A Axis labels
    $graphSequence = generateSequence(1, 10, "|");

    $cht = 'lc';//Set the chart type
    $chxl = '';//custom axis labels
    $chxp = '';//Axis Label Positions
    $chxr = '0,' . $YScaleMin . ',' . $YScaleMax . '|1,1,52|3,1,12|5,' . $YScaleMin . ',' . $YScaleMax . '';//Axis Range
    $chxtc = '0,5|1,5|5,5';//Axis Tick Mark Styles
    $chxt = 'y,x';//Visible Axes
    $chs = '500x200';//Chart Size in px
    $chco = '76E32C';//Series Colours
    $chds = '' . $YScaleMin . ',' . $YScaleMax . '';//Custom Scaling
    $chg = '-1,-1,1,5';//Grid lines
    $chls = '2';//line styles
    $chm = '';//Shape Markers

    //Build the URL
    $googleUrl = 'http://chart.apis.google.com/chart?';
    $rawUrl = $googleUrl . 'cht=' . $cht . '&chxl=' . $chxl . '&chxp=' . $chxp . '&chxr=' . $chxr . '&chxs=' . $chxs . '&chxtc=' . $chxtc . '&chxt=' . $chxt . '&chs=' . $chs . '&chco=' . $chco . '&chd=t:' . $chd . '&chds=' . $chds . '&chg=' . $chg . '&chls=' . $chls . '&chm=' . $chm;

    $output = $rawUrl;

    return $output;
}

/**
 * A nicer way to test arrays
 */
function displayArray($val)
{
    echo "<pre>";
    print_r($val);
    echo "</pre>";
    return;
}

/**
 * a simple numeric sequence generator. requires a min and max for the sequence, and can take an optional seperator
 */
function generateSequence($min, $max, $seperator = "")
{
    $output = '';
    for ($i = $min; $i <= $max; $i++)
    {
        $output .= $i . $seperator;
    }
    return $output;
}

$chart = generateGoogleChart();

$html = '<div id="chart">';
$html .= '<img src="' . $chart . '" />';
$html .= '</div>';

echo $html;
?>

お時間をいただきありがとうございます。

4

1 に答える 1

1

過去に Image Charts API を使用し、ビルダー パターンを実装してチャート URL を生成しました。透明な背景と色付きの軸がアプリで使用され、以下に示す透明度を提供するメソッド呼び出しが使用されました。

/**
 * Remove any background fill colours. The #chco parameter is used for {@link ChartType#BAR}
 * fills.
 * 
 * @return this.
 * @see https://developers.google.com/chart/image/docs/chart_params#gcharts_solid_fills
 */
public GoogleImageChartBuilder withTransparentBackgroundFill() {
 stringBuilder.append("&chf=bg,s,00000000");
 return this;
}

したがって、上記にリンクされているドキュメントを読み直すと、chfパラメーターで言いました。「透明な無地の背景塗りつぶしをください」...おそらくもっと賢明な言い方は、「透明な背景塗りつぶしをください」でした! すなわち

 stringBuilder.append("&chf=bg,t,00000000");

軸の色は、chxsパラメーターによって定義されます。ここに記載されているという名前の最後のオプション引数を見てください<opt_axis_color>

それがあなたを助けることを願っています。画像グラフ API は非推奨になったことに注意してください。JavaScriptバージョンはそれほど恐ろしいものではありません:)

于 2013-02-03T00:43:42.907 に答える