问题描述
我有一个父组件:“dashboard-reports”
我为 am4chart XY bar 创建了一个子组件 (bar-chart.component)
我想为各种报告显示使用相同的组件,我们如何使用 angular 和 a4charts 库来实现这一点
在dashboard-reports.componet.html(父组件)中
<div><app-bar-chart [barChartInput]='downTimeAnalysis'></app-bar-chart><div>
<div><app-bar-chart [barChartInput]='reservationAnalysis'></app-bar-chart></div>
在 bar-chart-coponent.html 中
<div class="custom-card-body py-4 px-3">
<div class="no-grid-kendo-loader">
<div *ngIf="barLoading" class="k-i-loading"></div>
<div id="barChat" style="height: 500px;"></div>
</div>
</div>
bar-chart-component.ts
export class BarChartComponent implements OnInit {
private chart: am4charts.XYChart;
public barLoading: boolean = false;
@Component({
selector: 'app-bar-chart',templateUrl: './bar-chart.component.html',styles: []
})
constructor(public translate: TranslateService,private zone: ngzone) { }
ngOnInit() {
this.zone.runOutsideAngular(() => {
let chart = am4core.create('barChat',am4charts.XYChart);
this.barLoading = true;
this.chart = chart;
this.setupBarChat();
});
}
public setupBarchart() {
//Horizontal axis
let categoryAxis = barChart.xAxes.push(new am4charts.CategoryAxis());
categoryAxis.datafields.category = "instrumentName";
categoryAxis.renderer.grid.template.strokeWidth = 0;
categoryAxis.fontSize = 11;
//Vertical axis
let valueAxis = barChart.yAxes.push(new am4charts.ValueAxis());
valueAxis.renderer.minGriddistance = 30;
valueAxis.title.text = titleConfigureation;
// showing bar chats data
let barChartSeries = barChart.series.push(new am4charts.ColumnSeries3D());
barChartSeries.datafields.valueY = "usageInHours";
barChartSeries.datafields.categoryX = "instrumentName";
}
ngOnDestroy() {
this.zone.runOutsideAngular(() => {
if (this.chart) {
this.chart.dispose();
}
});
}
如何绘制多张图表,现在只能正确绘制一张图表。第二个没画好
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)