我在angular6中使用高级图表。我想使用setinterval重新加载数据。我找不到合适的解决办法。
Chartcomponent.ts
import { Chart, Highcharts } from 'angular-highcharts';
ngOnInit() {
this.loaded = false;
this.rowData = [[0, 2], [1, 2], [2, 3], [4, 4], [4, 5]];
this.loadChart(this.data.data);
}
loadChart(data): any {
this.highChartsOptions = {
chart: { type: this.graphType },
title: { text: '' },
legend: { enabled: false },
plotOptions: { series: { dataLabels: { enabled: true } } },
series: [{ name: 'random series', data: data }]
};
this.handleIntervals();
}
handleIntervals(): void {
setInterval(() => {
console.log(this.rowData[this.rowData.length - 1]);
let rowY = this.rowData[this.rowData.length - 1];
let y = rowY[0];
this.rowData.push([parseInt(y) + 1, 10]);
// this.highChartsOptions.series[0].data = this.rowData;
// this.loadChart( this.rowData);
}, 5000);
// const subscribe = source.subscribe(this.loadChart());
}发布于 2018-08-18 11:44:04
最后我解决了这个问题。我认为这不是正确的解决办法,但效果很好。https://stackblitz.com/edit/highchart-angular-reload-data
发布于 2018-08-18 11:14:57
如果要添加新的系列,请使用
this.chart.addSerie({})如果您想更新数据
this.chart.series[0].setData(rowData);查看文档:https://www.npmjs.com/package/angular-highcharts示例:https://stackblitz.com/edit/angular-9nkrgd
https://stackoverflow.com/questions/51907269
复制相似问题