0

HighStock を使用して時系列データを表示していますが、ユーザーが x 軸のラベル間隔を事前に定義できるようにしたいと考えています。3 日に設定しようとすると 2 日にスナップされ、5 日に設定すると最大 7 日にスナップされます。

xAxis: {
    // This should equal to 3 days.
    tickInterval: 3*24*3600*1000,
    ordinal: false
},

参照: http://jsfiddle.net/DH664/1/

これがデフォルトの動作であることを理解しているので、独自の tickPositioner 関数を提供しようとしました。実際に機能しましたが、ラベルの日付形式がなくなったことに驚きました。

xAxis: {
    tickPositioner: function (min, max) {
        var res = [],
            i = (((min + interval -1) / interval) >> 0) * interval;
        for (; i <= max; i+= interval) {
            res.push(i);
        }
        return res;
    },
    ordinal: false
},

参照: http://jsfiddle.net/DH664/2/

この回避策を見つけました: tickInterval は Highchart と Highstock で正しく機能しません。

これにより、後で設定できるカスタム間隔を定義できますが、これはチャートをインスタンス化する前に限られます。事前にわからないユーザー指定の間隔が異なる 2 つのグラフが必要な場合はどうすればよいですか?

カスタム間隔を持ち、それでもフォーマットを取得する適切な解決策はありますか?

ありがとう

4

2 に答える 2

1

chart.xAxis.update({tickInterval: x});間隔を更新するために使用します。しかし、これが起こる理由はおそらく次のminRangeとおりです: http://api.highcharts.com/highcharts#xAxis.minRange

于 2013-05-09T10:18:07.650 に答える
0

わかりました、私に合った解決策を見つけました。カスタムの時間間隔がまだ存在しない場合は、デフォルトの単位配列に挿入する必要があります。トリックは、axis構成が、この configのようなものを期待するunitsプロパティを許可することですが、それは文書化されていません。

これが他の人に役立つことを願っています。

于 2013-05-10T16:17:01.650 に答える