Когда я пытаюсь создать динамическую c потоковую диаграмму в API Highcharts, у меня возникла странная проблема.
Первое, что нужно иметь в виду, это то, что мне нужно показать ось X данные как category
, поэтому для этого примера я превратил date
в строковый формат.
Проблема заключается в том, что метка оси X не отображается правильно, только одна точка на оси х видимый, и это также меняет свои значения, а не сдвигает.
Вот код JS, который я пробовал.
Highcharts.chart('container', {
chart: {
type: 'line',
animation: Highcharts.svg, // don't animate in old IE
marginRight: 10,
events: {
load: function() {
var series = this.series[0],
chart = this;
var count = 0;
var draw = setInterval(function() {
x = countval();
// var counter = j;
// console.log("Count: ", counter);
y = next();
console.log("CountVal : ", x);
console.log("DataPoints: ", y);
/* if (counter == 1300) {
clearInterval(draw);
return;
}
*/
if (counter > 1000) {
series.addPoint([x, y], true, true, false);
} else {
series.addPoint([x, y], true, false, false);
}
}, 1000/130 );
}
}
},
time: {
useUTC: false
},
title: {
text: 'ECG Graph Plot From MySQl Data'
},
xAxis: {
type: 'category',
tickInterval: 200,
/*/ labels: {
format: '{value:%H:%M:%S}',
range: false,
},/*/
// plotLines: generateDynamicPlotLines(),
// crosshair: false
},
yAxis: {
title: {
text: 'Value'
},
plotLines: [{
value: 0,
width: 1,
color: '#808080'
}]
},
tooltip: {
enabled: false,
/*/ headerFormat: '<b>{series.name}</b><br/>',
pointFormat: '{point.x:%Y-%m-%d %H:%M:%S}<br/>{point.y:.2f}'/*/
},
legend: {
enabled: false
},
exporting: {
enabled: false
},
plotOptions: {
series: {
marker: {
enabled: false
},
states: {
hover: {
enabled: false
}
}
}
},
series: [{
animation: false,
name: 'ECG Graph Plot From MySQl Data',
dataGrouping: {
enabled: false
},
data: []
},
]
});
Для дальнейшего понимания, вы можете проверить эту скрипку, которую я есть что показывает мою проблему. Вы можете увидеть проблему с осью X.
https://jsfiddle.net/abnitchauhan/8jtz2fwy/
Я установил tickInterval
на 200, он не отображает никакой точки. и если я поставлю tickPixelInterval
. оси X просто обновляют свои «нет», а не смещают.