我在这里有一个演示
这是一个角度应用程序,我正在尝试创建 D3 图表。
使用 createDate 函数创建图表数据,创建随机数据和日期。
我希望图表使用更新按钮进行更新,因此我使用 ngOnChanges 但这不会在页面加载时创建图表。
被注释掉的 ngOnInit 在页面加载时加载图表。
ngOnChanges(changes: SimpleChanges) {
if(!changes.data) return;
if(this.hasPreviousData){
this.createData()
this.stack = d3.stack()
.keys(['data_1', 'data_2', 'data_3', 'data_4'])
this.createStack(this.testData);
}else{
this.createData()
this.stack = d3.stack()
.keys(['data_1', 'data_2', 'data_3', 'data_4'])
this.initScales();
this.initSvg();
this.drawAxis();
this.createStack(this.testData);
this.hasPreviousData = true;
}
}