Php 在Google图表API中显示货币

Php 在Google图表API中显示货币,php,api,Php,Api,我正在使用GoogleChartAPI显示折线图,但我需要将数字显示为货币。在图表本身上,我可以让数字像货币一样显示,但是当鼠标悬停在某个点上并且对话框显示时,数字并没有按照指定的方式显示 <script type="text/javascript"> google.load("visualization", "1", {packages:["corechart"]

我正在使用GoogleChartAPI显示折线图,但我需要将数字显示为货币。在图表本身上,我可以让数字像货币一样显示,但是当鼠标悬停在某个点上并且对话框显示时,数字并没有按照指定的方式显示

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

load(“可视化”、“1”、{packages:[“corechart”]});
setOnLoadCallback(drawChart);
函数绘图图(){
var data=google.visualization.arrayToDataTable();
变量选项={
图表区:{左:40,上:10},
点数:6,
变量:{格式:'$####,###,###,###.00'},//货币格式
图例:{位置:'none'}
};
var chart=new google.visualization.LineChart(document.getElementById('chart_div'));
图表绘制(数据、选项);
}
从该图中可以看出,左侧显示的垂直列确实使用了上述代码中使用
vAxis.format
指定的小数点,但对话框中没有显示小数或美元符号(我在屏幕截图后添加了美元符号)

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


我尝试更新用于将数据填充为货币格式的PHP数组,但是Google图表没有呈现,因为它不是普通数字。

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

如果出于任何原因,您希望在JS中定义该格式,那么可以使用


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

我发现另一个非常有用的选项,在概念上与arrayToDataTable()方法类似,是JavaScript文本初始值设定项语法,如下所示:

var data = new google.visualization.DataTable(
                {
                    cols: [
                        {id: 'date', label: 'Date', type: 'string'},
                        {id: 'parnter1', label: 'Partner A', type: 'number'},
                        {id: 'partner2', label: 'Partner B', type: 'number'}
                    ],
                    rows: [
                        { c: [{ v: '06/2012' }, { v: 12345, f: '$12,345' }, { v: 98765, f: '$98,765'}] },
                        { c: [{ v: '07/2012' }, { v: 10123, f: '$10,123' }, { v: 123123, f: '$123,123'}] }
                    ]
                }
            );
试试这个:

var formatter=new google.visualization.NumberFormat({pattern:'#####,###'});
格式化程序。格式化(数据,1)

这对我很有用。网址:
这是巴西货币的完美格式:

  var formatter = new google.visualization.NumberFormat({decimalSymbol: ',',groupingSymbol: '.', negativeColor: 'red', negativeParens: true, prefix: 'R$ '});
  formatter.format(data, 1);
同样适用于美元,只需将
R$
更改为
$

10500.5
停留
10.500,50
,更多前缀

10500
停留
10.500,00
,更多前缀