在Google图表API中显示货币

JRO*_*ROB 11 php api

我使用Google图表API来显示折线图,但我需要将数字显示为货币.在图表本身上,我能够将数字显示为货币,但当鼠标悬停在一个点上并显示对话框时,该数字不会按指定显示.

        <script type="text/javascript">
            google.load("visualization", "1", {packages:["corechart"]});
            google.setOnLoadCallback(drawChart);

            function drawChart() {

                var data = google.visualization.arrayToDataTable(<?php echo $data; ?>);


                var options = {
                    chartArea:{left:40,top:10},
                    pointSize: 6,
                    vAxis: {format:'$###,###,###.00'}, // Money format
                    legend: {position:'none'}



                };

                var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
                chart.draw(data, options);

            }
        </script>
Run Code Online (Sandbox Code Playgroud)

正如您在此图像中看到的那样,左侧显示的垂直列确实使用vAxis.format了上面代码中指定的小数点,但对话框中没有显示小数或美元符号(我在屏幕截图后添加了美元符号) ).

http://i48.tinypic.com/121uznm.jpg

如何在对话框中显示与左对齐垂直列中的数字相同的数字?

我尝试更新我用来将数据填充到货币格式的PHP数组,但是谷歌图表不会呈现,因为它不是简单的数字.

ove*_*uka 14

这是巴西货币的完美格式:

  var formatter = new google.visualization.NumberFormat({decimalSymbol: ',',groupingSymbol: '.', negativeColor: 'red', negativeParens: true, prefix: 'R$ '});
  formatter.format(data, 1);
Run Code Online (Sandbox Code Playgroud)

工作也很好惠特美元,只是R$改为$

10500.5留下来10.500,50,更多前缀

10500留下来10.500,00,更多前缀


nth*_*all 12

现在有一种格式用于指定单元格的原始值和格式化值[1]:将值加载到图表中时,而不是,例如addRow(['2012-08-31, 4]);它会addRow(['2012-08-31', {v: 4, f: '$4.00'}]);更多通过文档传播该语法的示例但我不能找个链接到它的好地方.改变生成示例中的$ data对象以包含该格式的方法应该不会太难,但也有其他格式化选项.

如果您出于某种原因而宁愿在JS中定义该格式,则可以使用NumberFormatter.

[1]当我第一次开始使用图表工具时,我认为他们没有这种语法.不知道什么时候添加它,或者直到最近我才注意到它.


小智 6

试试这个:

var formatter = new google.visualization.NumberFormat({pattern:'###,###'} ); formatter.format(data, 1);

对我来说很棒.发现于: Google Visualization API中的逗号分隔数据