Google visualization 如何设置工具提示以显示与Google可视化折线图中的轴匹配的百分比?

Google visualization 如何设置工具提示以显示与Google可视化折线图中的轴匹配的百分比?,google-visualization,number-formatting,linechart,Google Visualization,Number Formatting,Linechart,可以使用以下代码将工具提示设置为显示百分比: var formatter = new google.visualization.NumberFormat({ fractionDigits: 2, suffix: '%' }); formatter.format(data, 1); // Apply formatter to first column. var formatter=new google.visualization.NumberFormat({ 分位数

可以使用以下代码将工具提示设置为显示百分比:

var formatter = new google.visualization.NumberFormat({ fractionDigits: 2, suffix: '%' }); formatter.format(data, 1); // Apply formatter to first column. var formatter=new google.visualization.NumberFormat({ 分位数:2, 后缀:'' }); 格式化程序。格式化(数据,1);//将格式化程序应用于第一列。 NumberFormat有没有办法将每个元素乘以100?否则,工具提示将显示为.50%

我使用的是
vAxis.format=“format:'#%'”
,它会乘以100。因此.5在垂直轴上显示为50%

根据documentation(),这可以通过将%括在单引号中来覆盖,但这不起作用


最终结果是工具提示与轴不匹配。最好的方法是什么?

必须用单引号将百分比(%)符号本身括起来

我用来执行此操作的行如下所示:
options['vAxis']={'format':“#,###'%”

将其与上面的格式设置程序相结合,可以使垂直轴具有百分比符号,也可以使工具提示包含该符号

var formatter = new google.visualization.NumberFormat({ 
  pattern: '#%', 
  fractionDigits: 2
});

多亏了

我通过与您完全一样指定格式化程序实现了这一点:

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\'%\'' }

好的。。。所以现在有点晚了。我承认七年前我不需要这个。然而,这对我来说很有效

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
}
var rows=data.getNumberOfRows();
对于(变量i=0;i
在我的例子中,我使用了四列,其中两列用百分比指定给右轴。我希望这些列的工具提示反映正确的百分比,而不是十进制表示

以下是谷歌文档的链接:


我希望这能帮助一些寻找它的陌生人

我认为这不会影响工具提示。我认为它设置了轴的标签。感谢你用单引号将%括起来的技巧-否则轴值将乘以100!让我抓狂…我认为重要的是要注意,在你真正绘制图表之前,你必须格式化图表。我不明白为什么这对我不起作用。。。这是因为在我已经创建了图表之后,我试图使用
formatter.format(chartData,1)
。在我的例子中,我有多个需要格式化的列,所以我在脚本中放了4次代码,每次都有不同的列号;