【发布时间】:2019-01-23 13:35:14
【问题描述】:
我在柱形图中更新系列数据时遇到问题。一开始,当我的模型为空时,我将一个空数组设置为系列,然后在ngOnchanges 方法中我将modelData 映射到匹配的格式。不幸的是,图表仍然是空的。
这是我的组件代码:
export class ColumnChartComponent implements OnInit, OnChanges {
highcharts = Highcharts;
chartConstructor: string;
@Input() dataModel: MyChartModel[];
ngOnInit(): void {
this.initChart();
}
ngOnChanges(): void {
this.chartOptions = {
series: this.getData()
};
}
private initChart(): void {
this.highcharts = Highcharts;
this.chartConstructor = "chart";
this.chartOptions = {
chart: {
type: "column"
}
//...
// others settings
//...
series: []
};
}
getData(){
// some methods to map from dataModel to expected array
// finally return something like this:
return [{
data: [2134000, 3168818, 2569759],
name: 2015,
type: "column"`enter code here`
},{
data: [2497680, 3195299, 2480444],
name: 2014,
type: "column"
},{
data: [2872000, 3604271, 2925828],
name: 2016,
type: "column"
}]
}
最后图表是空的。有趣的是,当我在initChart() 方法中设置series: [{}] 时,图表显示了一个系列。如果我设置series: [{},{}] 图表将显示两个系列,等等。但我不知道我的dataModel 中有多少系列,所以我无法在数组中设置合适数量的对象。
我尝试过使用this.chartOptions.series.push(myObject),但它也不起作用。
【问题讨论】:
标签: angular highcharts