Javascript Highstock折线图系列处理的数据错误
|在绘制布尔值随时间变化的图表时(按步进),Highstock 7.2.0引入了介于0和1之间的插值。我希望结果只是以阶梯式方式绘制0和1。见附件照片。标记的一个显示插值 我正在研究series.data和series.processedYData之间的差异,虽然series.data是0和1的混合,但series.processedYData包含一些介于0和1之间的插值。如果放大受影响的时间范围,它将正确渲染。只有在拉入更大的数据集(超过100个左右)时才会发生这种情况Javascript Highstock折线图系列处理的数据错误,javascript,highcharts,Javascript,Highcharts,|在绘制布尔值随时间变化的图表时(按步进),Highstock 7.2.0引入了介于0和1之间的插值。我希望结果只是以阶梯式方式绘制0和1。见附件照片。标记的一个显示插值 我正在研究series.data和series.processedYData之间的差异,虽然series.data是0和1的混合,但series.processedYData包含一些介于0和1之间的插值。如果放大受影响的时间范围,它将正确渲染。只有在拉入更大的数据集(超过100个左右)时才会发生这种情况 发生这种情况可能是因为
发生这种情况可能是因为系列
数据分组
。它的概念是将数据值采样到较大的块中,以简化可读性并提高性能
因此,解决方案可以是禁用它或更改近似方法,使其不显示组平均值,而是显示其一个点(使其为0或1)
API参考:
scope.CreateChart = function () {
if (scope.chart) scope.chart.destroy();
scope.chart = new Highcharts.stockChart('trend', {
rangeSelector: {
enabled:false
},
legend: {
layout: 'horizontal',
align: 'center',
verticalAlign: 'bottom',
enabled:true
},
plotOptions: {
connectNulls: false
},
chart: {
zoomType: 'xy',
},
xAxis: {
type: 'datetime',
dateTimeLabelFormats: {
millisecond: '%H:%M:%S.%L',
second: '%H:%M:%S',
minute: '%H:%M',
hour: '%H:%M',
day: '%b %e',
week: '%b %e',
month: '%b \'%y',
year: '%Y'
}
},
yAxis: [{ id: GuidSvc.Create(), title: { text: 'Default' }, opposite: false }],
series: [
{name: 'Series 1',
step: true,
type: 'line',
data: [[1568293051542,0],[1568293352761,0],[1568293652277,0]
],
credits: { enabled: false },
lang: {
noData: "No tags selected. Click on a tag to trend"
},
noData: {
style: {
fontWeight: 'bold',
fontSize: '15px',
color: '#ccc'
}
}
});
};
plotOptions: {
series: {
dataGrouping: {
enabled: false
}
}
}