我正在尝试使用DataTable类中的setFormattedValue()函数来修改折线图上横轴上的标签外观,但这些值没有被格式化。标签保留在setValue()创建的默认值中。
例如,以下代码在轴上不产生00:36:45,而是仅产生2205。
var table = new google.visualization.DataTable();
table.addRows(1);
table.addColumn('number', 'time');
table.addColumn('number', 'altitude');
table.setValue(0, 0, 2205);
table.setFormattedValue(0, 0, '00:36:45');
table.setValue(0, 1, 35);
var chart = new google.visualization.LineChart($('chartdiv'));
chart.draw(table);
我不明白我做错了什么。不应该使用setFormattedValue()使标签显示为00:36:45而不是2205?
如果这不是改变轴标签外观的正确方法,那该怎么办呢?我无法将列类型更改为字符串,因为绘制的线基于数字x / y坐标。
答案 0 :(得分:0)
您说您无法将列类型更改为字符串,但是,您可以将其更改为日期吗?轴显示一个数字,因为您将两列都声明为数字类型。
我看不到00:36:45和2205之间的关系。2205是你当时得到的值吗?如果您在折线图中绘制了更多的点,则可以检查其标签是否是您正在设置的格式化值。
答案 1 :(得分:0)
部分解决方案:
将chart.draw(table);
替换为:
chart.draw(table, {
hAxis: {
ticks: [
{v:2205, f:'00:36:45'},
{v:35, f:35}
]
}
});
ticks
允许您在轴上映射任何值及其表示,但我认为您必须列出所需的所有标签的值。 (但这可以通过自定义脚本自动化)