我在我的角度应用程序中使用了highstock
烛台图。这是我的股票图表的选择。
rangeSelector: {
enabled: false,
},
colors: Global.colors,
title: {
text: ''
},
xAxis: {
crosshair: true
},
yAxis: [
{
opposite: true,
labels: {
align: 'left',
x: 5
},
height: '60%',
lineWidth: 2,
resize: {
enabled: true
},
}, {
labels: {
align: 'right',
x: -3
},
top: '65%',
height: '35%',
offset: 0,
lineWidth: 2
}],
tooltip: {
split: false,
shared: true,
},
credits: {
enabled: false
},
scrollbar: {
enabled: false
},
legend: {
enabled: false
},
plotOptions: {
series: {
marker: {
enabled: false
}
},
}
在这种情况下,如果您观察到,我已禁用rangeSelector
,navigator
和scrollbar
。在这里,我从服务器获取值并将这些值设置为图表中系列的一部分。
stockChart.addSeries({
type:'candlestick',
name:this.seriesName,
data:this.seriesData
});
现在,在此。每当我必须添加要通过Web套接字接收的点时。我需要从数据数组中删除第一个值,然后添加一个新值。短时按下并推动。
updateChart(newValue){
this.seriesData.shift();
this.seriesData.push(newValue);
this.stockChart.series[0].setData([]);
this.stockChart.series[0].setData(this.seriesData);
}
无论何时执行此方法,都会将新点添加到seriesData
数组中,并将其作为序列数据应用于图表,但是直到并且除非我不将其拖动到左侧,否则不会显示刻度可见。图表似乎也没有更新。我已经尝试过使用series[0].addPoint(newValue,true,true)
进行相同的操作以添加一个点并进行平移,但对我而言不起作用。