日時 xAxis の折れ線グラフがあります。tickInterval を 10*60*1000 に設定したため、10 分ごとにティックを表示する必要があります。たとえば、最初のポイントが 10 に表示されている場合、最初の日付から 10 分ごとにティックを表示する必要があります。 :33、10:33、10:43、10:53 などにティックを表示する必要がありますが、私が持っているのは 10:30、10:40、10:50 などのティックです。方法はありますか?これを行う?
ありがとう!
日時 xAxis の折れ線グラフがあります。tickInterval を 10*60*1000 に設定したため、10 分ごとにティックを表示する必要があります。たとえば、最初のポイントが 10 に表示されている場合、最初の日付から 10 分ごとにティックを表示する必要があります。 :33、10:33、10:43、10:53 などにティックを表示する必要がありますが、私が持っているのは 10:30、10:40、10:50 などのティックです。方法はありますか?これを行う?
ありがとう!
x 軸のタイプが「datetime」の場合、Highcharts は使用するラベルを自動的に決定するため、それほど簡単ではありません。
"日時軸では、数値はミリ秒単位で与えられ、時間や日などの適切な値に目盛りが付けられます"
「10:33」などのラベルを設定するには、独自のカテゴリを作成する必要があります。幸いなことに、これらはデータと目的の時間間隔から簡単に導き出すことができます。
これが実際の例です: http://jsfiddle.net/Rt7ZV/
指定された開始日、間隔、およびポイント数を取得して、x 軸ラベルとして使用されるカテゴリの配列を構築するだけです。
function getTimes(numTimes, interval) {
var ms = (new Date(2012, 02, 30, 10, 33)).getTime();
var times = [];
var startDate = new Date(ms);
times.push(startDate.getHours() + ":" + startDate.getMinutes());
for (var i = 1; i< numTimes; i++)
{
ms += interval;
var nextTime = (new Date()).setTime(ms);
var nextDate = new Date(nextTime);
times.push(nextDate.getHours() + ":" + pad(nextDate.getMinutes(), 2));
}
return times;
}
function pad(num, size) {
var s = num+"";
while (s.length < size) s = "0" + s;
return s;
}
var data = [1, 2, 3, 4, 5, 3, 2, 5, 7, 6, 4];
var interval = 10*60*1000
var timeCategories = getTimes(data.length, interval);
$(function () {
var chart;
$(document).ready(function() {
chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
zoomType: 'x',
spacingRight: 20
},
title: {
text: 'Time series'
},
xAxis: {
categories: timeCategories,
title: {
text: null
},
startOnTick: false
},
yAxis: {
title: {
text: 'Exchange rate'
},
startOnTick: false,
showFirstLabel: true
},
tooltip: {
shared: true
},
legend: {
enabled: false
},
series: [{
type: 'line',
name: 'time series',
data: [
1, 2, 3, 4, 5, 3, 2, 5, 7, 6, 4
]
}]
});
});
});
xAxis で tickPositions プロパティを見つけました。これは、ハイチャートでは文書化されておらず、ハイストックでのみ文書化されていますが、両方でうまく機能しているようです。このプロパティを使用すると、目盛りを付けたい値を指定でき、私の問題に完全に対応できます。