2011-12-04 55 views
0

我想從DataTable類中使用setFormattedValue()函數來修改折線圖橫軸上標籤的外觀,但這些值未被格式化。標籤保持由setValue()創建的默認值。如何格式化Google Visualization API中折線圖上的水平軸標籤?

例如,下面的代碼不會產生對軸0時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

你說你不能將列類型更改爲字符串,但是,你可以將它更改爲Date嗎?該軸顯示一個數字,因爲您將兩個列都聲明爲數字類型。

我看不到00:36:45和2205之間的關係。2205是你當時得到的值嗎?如果您在折線圖中繪製了更多點,則可以檢查它們的標籤是否爲您設置的格式化值。

0

部分解決:

替換爲chart.draw(table);

chart.draw(table, { 
    hAxis: { 
     ticks: [ 
      {v:2205, f:'00:36:45'}, 
      {v:35, f:35} 
     ] 
    } 
}); 

ticks允許你映射任何價值及其對軸表示,但我認爲你必須列出值你想要的所有標籤。 (但是這可以通過定製腳本自動化)

相關問題