1

私は、毎日のデータ サンプルを含む単純なフロー ライン チャートを持っています。ただし、範囲はユーザーが選択できます (2 日から数年のデータまで)。

var chartConfig = {
    xaxis: {
        mode: "time",
        timeformat: "%Y/%m/%d"
    }
};

$.plot($("#chart"), readings, chartConfig);

x 軸の目盛りに日付 (例: 2013/07/15) を表示したいのですが、ラベル テキストがオーバーフローしないように、範囲全体に均等に分散された適切な数の目盛りのみを表示します (例: 10 目盛り) )。

tickSizeminTickSizeを見てきましたが、これらは「ガイドライン」にすぎません。4 ティックを超えると、このユース ケースには影響しません。

4

1 に答える 1

1

最後に、データ範囲に関係なく、一定数の目盛りを表示するために自分で何かを書きました。

ティックを表示するサンプルの間隔を計算し、モジュロ演算子を使用してサンプル ティックを表示するかどうかをテストします。

var ticks = [];
var tick_count = 7; //number of ticks to show
var sample_count = readings[0].data.length;
var display_interval = Math.round((sample_count/tick_count));
for (var i = 0; i < sample_count; i++) {
    if((i % display_interval) == 0) {
       ticks.push(readings[0].data[i][0]);
    }
}
chartConfig.xaxis.ticks = ticks;
$.plot($("#chart"), readings, chartConfig);

これは、すべてのサンプルが同じ期間であると仮定しています。

于 2013-07-15T12:45:05.483 に答える