2010-08-23 135 views
3

我只是想弄清楚格式化我的标签显示为货币,而不仅仅是一个数字:谷歌可视化柱形图 - 如何使标签货币

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.');'; 

$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> 
'; 

我想销售列显示为美元货币值。我怎样才能做到这一点?我看到了如何使用URL请求来做到这一点,但这并不能解决这种情况。

我似乎无法找到任何这方面的好例子。

回答

2

看起来你可能想看看setFormattedValue
http://code.google.com/apis/chart/interactive/docs/reference.html#DataTable_setFormattedValue
和格式的东西看看
http://code.google.com/apis/chart/interactive/docs/reference.html#formatters

我还没有尝试过这一点,但我可以告诉这可能是工作为您提供:

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> 
'; 

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

+0

这很有可能起作用。这在我写这篇文章的时候可能还没有提供。感谢您的回复。我会将其标记为正确的。 – 2011-08-19 05:23:16