开发者

Google Visualization Column Chart - How to make labels as currency

I'm just trying to figure out to format my labels to be shown as a currency and not just a number:

echo '  <script type="text/javascript" src="http://www.google.com/jsapi"></script>
  <script type="text/javascript">
    google.load("visualization", "1", {packages:["corechart"]});
    google.setOnLoadCallback(drawChart);
    function drawChart() {
        var data = new google.visualization.DataTable();
        data.addColumn("strin开发者_开发问答g", "ZipCode");
        data.addColumn("number", "Sales");
        data.addRows('.$count.');';

$i = 0;
foreach ($results as $r) {
    $p = (($r->report_trans_amount / $total) * 100);
    $pd = strval(number_format($p, 1));
    echo '        data.setValue(' . $i . ', 0, "' . $r->member_address_zip_code .
                          ' - ' . $pd . '%");';
    echo '        data.setValue(' . $i . ', 1, ' . $r->report_trans_amount . ');';
    $i++;
}

echo '        var chart = new google.visualization.PieChart(
                          document.getElementById("chart_div"));
        chart.draw(data, {width:900, height:500, is3D:true});
    }
  </script>
  <div id="chart_div"></div>
';

I would like the Sales column to be shown as a USD currency value. How can I do that? I see how to do it using the URL request, but that does not help this situation.

I just can't seem to find any good example on this.


it looks like you might want to look at setFormattedValue
http://code.google.com/apis/chart/interactive/docs/reference.html#DataTable_setFormattedValue
and for the format stuff look at
http://code.google.com/apis/chart/interactive/docs/reference.html#formatters

I haven't tried this out, but from what I can tell this could work for you:

echo '
    <script type="text/javascript" src="http://www.google.com/jsapi"></script>
    <script type="text/javascript">
      google.load("visualization", "1", {packages:["corechart"]});
      google.setOnLoadCallback(drawChart);
      function drawChart() {
        var data = new google.visualization.DataTable();
        data.addColumn("string", "ZipCode");
        data.addColumn("number", "Sales");
        data.addRows('.$count.');
        var formatter = new google.visualization.NumberFormat({prefix: \'$\'});
        formatter.format(data, 1);';

        $i = 0;
        foreach($results as $r){
            $p = (($r->report_trans_amount / $total) * 100);
            $pd = strval(number_format($p, 1));
            echo 'data.setValue('.$i.', 0, "'.$r->member_address_zip_code.' - '.$pd.'%");';
            //echo 'data.setFormattedValue('.$i.', 1, formatter);'; // might not need this with the formatter.format above
            echo 'data.setValue('.$i.', 1, '.$r->report_trans_amount.');';
            $i++;
        }


echo '  var chart = new google.visualization.PieChart(document.getElementById("chart_div"));
        chart.draw(data, {width:900, height:500, is3D:true});
      }
    </script>
    <div id="chart_div"></div>
';

references:
http://code.google.com/p/google-visualization-api-issues/issues/detail?id=282

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜