I have a demo here
It's a angular app where I'm trying to create a D3 chart.
The chart data is created with a createDate function, creating random data and dates.
I want the chart to update with the update button so I'm using ngOnChanges but this doesn't create the chart when the pages load.
The ngOnInit commented out loads the chart on page load.
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;
}
}