jQueryのy軸上の時間を表示する

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

2:30は2.5になります

As it is looking now

y軸を時間モードに設定できることは知っていますが、動作させることはできません。

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

        },

しかし、どのようにjQuery Plotに時間を与えるべきですか: "1:40"は動作しません

私は数分でなく数時間でこのように見せたい

Analytics example

I have search the internet for help and the jQuery API do not explain it properly: http://flot.googlecode.com/svn/trunk/API.txt

ご助力ありがとうございます!

1

1 答え

あなたがしたいことは、axis tickFormatterを使ってそれを偽装することです。 「時間」モードは実際には「日付」モードのようなものでなければなりません。なぜなら、それは時代ではないからです。時間は本当に付随的です。だからすでに十進数に変換する作業をしているのであれば、javascript関数を使って必要な形式に戻してください:

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

  return hours+":"+minutes;
}

それは明らかにすべての順列をカバーしているわけではありません。これを浮き彫りにする方法がわからない場合は、プロットオプションで次のようになります。

$.plot(placeholder, data, {
  ..,
  yaxis: {
    ..,
    tickFormatter:timeTickFormatter,
    ..
  }
});
1
追加された