Я пытаюсь отобразить данные, сгруппированные в столбцы как несколько рядов. Существуют три основных требования:Highcharts tickInterval каждый час
- график должен начать (нулевую точку на оси X) с FromDate
- должен быть «тик» на каждый час
- Todate является гибким
До сих пор кажется, что tickInterval очень зависит от предоставленных данных, и Highchart игнорирует его в некоторых случаях, например, ниже. Есть ли способ сделать это пометки в моем сценарии? Можно ли добавлять тики, даже если данных нет?
$('#container').highcharts({
global: {
useUTC: false
},
chart: {
zoomType: false,
type: 'column'
},
xAxis: {
type: 'datetime',
ordinal: false,
startOnTick: false,
endOnTick: false,
minPadding: 0,
maxPadding: 0,
tickInterval: 3600 * 1000,
minTickInterval: 3600 * 1000
},
plotOptions: {
column: {
stacking: 'normal',
column: {
pointPadding: 0,
borderWidth: 0,
grouping: true
}
}
},
series: [{"name":"One","data":[[1.424304e+12,1],[1.4243076e+12,2],[1.4243148e+12,1],[1.4243301e+12,1],[1.4243364e+12,1],[1.4243436e+12,1],[1.4243472e+12,1],[1.4243526e+12,1],[1.4243535e+12,1],[1.4243544e+12,1],[1.4243625e+12,1],[1.4243652e+12,2],[1.424367e+12,1],[1.4243688e+12,8],[1.4243724e+12,3],[1.4243733e+12,1],[1.424376e+12,8],[1.4243814e+12,3],[1.4243841e+12,1]]},{"name":"Two","data":[[1.424304e+12,1],[1.4243112e+12,1],[1.4243292e+12,1],[1.4243436e+12,1],[1.4243616e+12,1],[1.4243652e+12,3],[1.4243724e+12,1],[1.4243868e+12,1]]},{"name":"Seven","data":[[1.4243706e+12,1],[1.4243814e+12,1]]}]
});
Ссылка на Fiddle
У вас нерегулярный интервал между точками, поэтому Highcharts не может действительно рассчитать правильное расстояние между точками. Это вызывает проблему с интервалом на xAxis - обходным путем является установка «pointRange», например, 1/10 часа: http://jsfiddle.net/qn6romsf/7/ - если вы не можете установить «pointRange», попробуйте используйте ['tickPositioner'] (http://api.highcharts.com/highcharts#xAxis.tickPositioner). –
Это действительно трюк! Все мои данные отображаются через 15-минутные интервалы, поэтому установка параметраРасстояние до 3600 * 1000/4 решило проблему, с которой я столкнулся. Отправьте его как ответ, поэтому я могу дать вам кредит на это :) – DeadMoroz