可以使用以下代码将工具提示设置为显示百分比:
var formatter = new google.visualization.NumberFormat({ fractionDigits: 2, suffix: '%' }); formatter.format(data, 1); // Apply formatter to first column.
NumberFormat有没有办法将每个元素乘以100?否则,工具提示显示为.50%。
我正在使用vAxis.format = "format:'#%' "
乘以100.因此.5在垂直轴上显示为50%。
根据文档(icu-project.org/apiref),可以通过将%括在单引号中来覆盖,但这不起作用。
最终结果是工具提示与轴不匹配。这样做的最佳方式是什么?
感谢。
答案 0 :(得分:21)
我通过完全按照您的方式指定格式化程序来完成此工作:
var chartData = google.visualization.arrayToDataTable(tableData);
var formatter = new google.visualization.NumberFormat({
fractionDigits: 2,
suffix: '%'
});
formatter.format(chartData, 1);
最后一次调用中的1
表示第二列,其中我有浮点值。
然后我在图表选项中指定轴的格式,转义文档和其他人指出的百分号:
var chartOptions = {
vAxis: { format: '#\'%\'' }
};
然后我绘制图表:
var chart = new google.visualization.ColumnChart(document.getElementById('chart'));
chart.draw(chartData, chartOptions);
这会使左侧轴呈现10%
,20%
等值。工具提示看起来像默认工具提示,但有一个百分比,如10.10%
,20.20%
等等。
如果您想在左侧轴上使用两个小数位,请将其用作图表选项中的格式:
vAxis: { format: '#.00\'%\'' }
答案 1 :(得分:7)
var formatter = new google.visualization.NumberFormat({
pattern: '#%',
fractionDigits: 2
});
答案 2 :(得分:3)
您必须用单引号括起百分号(%)符号。
我以前执行此操作的行如下所示:options['vAxis'] = {'format': "#,###'%'"};
将此与上面的格式化程序相结合,您可以使垂直轴具有百分比符号,并使工具提示也包含它。
答案 3 :(得分:2)
好的......所以这有点晚了。我承认七年前我并不需要这个。不过,这对我有用。
var rows = data.getNumberOfRows();
for (var i = 0; i < rows; i++) {
data.setFormattedValue(i, 4, (data.getFormattedValue(i, 4)*100).toFixed(1) + "%"); //LY
data.setFormattedValue(i, 3, (data.getFormattedValue(i, 3)*100).toFixed(1) + "%"); //TY
}
就我而言,我使用了四列,其中两列以百分比分配给右轴。我想要那些专栏&#39;工具提示反映适当的百分比而不是十进制表示。
以下是Google文档的链接:
https://developers.google.com/chart/interactive/docs/reference#DataTable_setFormattedValue
我希望这有助于一些随机的陌生人寻找它。 ;)