0

ズームアウトするときに、x 軸を時間表示から週日、月などに切り替える方法はありますか?

現在、私の x 軸は次のように構成されています。

xaxis: {
    mode: "time",
    minTickSize: [1, "second"],
    timeformat: "%H:%M:%S",
}

私のデフォルトのグラフはきれいに見えますが、十分な回数ズームアウトすると、x 軸のラベルに「00:00」と表示されます。timeformat日付も含まれるように変更するにはどうすればよいですか? などTue 27 00:00

グラフが大幅に縮小された場合の例を次に示します (明らかに、グラフをより滑らかに見せるために、いくつかのデータポイントをリモートにする必要があります..)

例

4

2 に答える 2

0

X 軸のカスタム tickFormatter を作成することでこれを解決しました。

xaxis オプションに次のように入力します。

xaxis: {
    mode: "time",
    tickFormatter: customXAxisFormatter,
    ...
}

次に、customXAxisFormatter は次のようになります。:

function customXAxisFormatter(val, axis)
{
    var d = new Date(val);

    // If time difference is more than 24 hours
    if ((axis.max - axis.min) > (24*3600*1000))
        return d.strftime("%a<br>%H:%M");
    else
        return d.strftime("%H:%M");
}

これが役立つことを願っています:)

于 2014-11-13T13:47:50.440 に答える
0

%Y-%m-%d のような標準指定子を使用して日付を追加できます。完全なリストは、時系列データセクションの API ドキュメントにあります。

範囲に基づいて更新する形式を取得する、つまり、ズームインすると HMS を表示し、ズームアウトすると YMD を表示するのは、よりトリッキーです。「plotzoom」イベントをリッスンし、範囲をチェックして、フォーマットを変更する必要があるかどうかを確認する必要があります。その場合は、getOptions() を使用してプロットのオプションを取得および更新し、setupGrid & draw を呼び出して、新しい形式を使用してプロットを再描画します。

于 2013-02-27T14:12:58.000 に答える