2011-12-04 15 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()は2205ではなく00:36:45と表示されるべきですか?

これが軸ラベルの外観を変更する正しい方法でない場合は、どうすればよいでしょうか?プロットされた行は数値のx/y座標に基づいているため、列の型をstringに変更できません。

答えて

0

あなたは列の種類を文字列に変更することはできませんが、日付に変更することはできますか?両方の列を数値型として宣言したため、軸に数値が表示されています。

私は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は、あなたが任意の値との軸上のその表現をマッピングすることができますが、私はあなたが欲しいすべてのラベルの値を一覧表示しなければならないと思います。 (しかし、これはカスタムスクリプトで自動化できます)

関連する問題