4

これは、現時点でチャートがどのように見えるかです:

http://jsfiddle.net/YWLpr/2/

ここに画像の説明を入力

年だけを表示したいのですが、x 軸を見ると、年だけでなく月も表示されます。

シリーズにデータをもう1つ追加すると驚くことに

 [Date.UTC(2011,2,31), 11.30] 

x 軸は自動的にフォーマットされ、年のみが表示されます

例 - http://jsfiddle.net/YWLpr/3/

したがって、7 つのデータ ポイントがある場合、x 軸に年が表示されますが、データ ポイントが 7 つ未満の場合、月と年が表示されますが、これは私が望むものではありません。この自動書式設定を停止して、7 データ ポイント未満の x 軸に年のみを表示するにはどうすればよいですか。

4

5 に答える 5

2

グラフのサイズを変更すると、ズームレベルが年ごとに切り替わるため、月の書式設定オプションも追加する必要があります。

        dateTimeLabelFormats: {
            month: '%Y',
            year: '%Y'
        }
于 2013-04-30T09:04:59.760 に答える
2

label.formatterまたはをいつでも使用できますlabel.format。参照: http://jsfiddle.net/PwEnd/14/

ドキュメント: http://api.highcharts.com/highcharts#xAxis.labels.format

于 2013-04-30T10:18:50.160 に答える
1

@Pawel と @Sumedh の間のバリエーションを使用する必要がありました。基本的に、キーはティック間隔です。間隔を設定しない場合、グラフは自動的にズームインして月を表示しようとします。もう1つは、datetimelabelformatsが正常に機能することですが、ポイントが1つしかないときに1つの問題に気付きました。月の形式が年だけを表示するように設定されていても、月が表示されます。以下は私のために働いたコードです。

xAxis: {
    startOnTick: true,
    type: 'datetime',
    labels:
    {
        formatter: function () {
            return Highcharts.dateFormat("%Y", this.value);
        }
    },
    tickInterval: Date.UTC(2010, 0, 1) - Date.UTC(2009, 0, 1)
},

フォーマッタは、年、月などを処理する代わりに便利なすべてのラベルをほぼオーバーライドします。これにより、正しいラベルが常に表示されることが保証されます。

于 2014-08-26T15:06:19.523 に答える
0
xAxis: [{
    type: "datetime",
    tickInterval: 24 * 3600 * 1000 * 365 // mills in a year. 
}],

ドキュメントから:

datetime 軸はミリ秒に基づいていることに注意してください。たとえば、1 日の間隔は 24 * 3600 * 1000 として表されます。

于 2016-04-01T20:39:29.227 に答える