如何在Google Visualization API中的折线图上格式化水平轴标签?

时间:2011-12-04 06:10:33

标签: javascript google-visualization

我正在尝试使用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坐标。

2 个答案:

答案 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允许您在轴上映射任何值及其表示,但我认为您必须列出所需的所有标签的值。 (但这可以通过自定义脚本自动化)