2011-10-28 13 views
1

私はy軸上の時間を表示するグラフを作成しました。しかし、今私は10進数に時間を変換する必要があります。jQuery flotでy軸の時間を表示

2:30が2.5

As it is looking now

だろう、私はあなたが時間モードにY軸を設定することができることを知っているが、私はそれを動作させることはできません。

 yaxis: { 
      mode: "time", 
      timeformat: "%H:%M" 

     }, 

しかし、どのようにすべき私は時間をjQueryプロットに渡します: "1:40"は動作しません

私はそれをほんの数時間でなく数時間でこのようにしたいと考えています

Analytics example

私はそれを正しく説明できない助けとjQueryのAPIをインターネットで検索している: http://flot.googlecode.com/svn/trunk/API.txt

はあなたの助けのためにありがとうございました!

答えて

1

あなたがしたいことは、軸のtickFormatterを使って偽装することだけです。 「時間」モードは実際には「日付」モードのようなものでなければなりません。なぜなら、それは時代ではないからです。時間は本当に付随的です。すでに10進数回を変換する作業をやっているのであれば、ちょうどあなたがしたいフォーマットに戻ってそれらを変換するjavascript関数を使用します。

function timeTickFormatter(val,axis) { 
    var hours = Math.floor(val); 
    var minutes = (val - hours) * 60; 

    return hours+":"+minutes; 
} 

明らかにすべての順列をカバーしていない(つまり、あなたがそれらを必要とするならば、先導するゼロ)が、それは考えです。これを浮き彫りにする方法がわからない場合は、プロットオプションで次のようになります。

$.plot(placeholder, data, { 
    .., 
    yaxis: { 
    .., 
    tickFormatter:timeTickFormatter, 
    .. 
    } 
}); 
関連する問題