【发布时间】:2020-08-31 17:47:25
【问题描述】:
我正在使用 Angular 9 和 AmCharts 4。
我需要将 CSV 数据加载到饼图中。数据如下:
Operation Type, Quantity
Internal, 687
External, 456
图表声明为:
ngAfterViewInit() {
this.chart = am4core.create(this.getChartID(), am4charts.PieChart);
const subtitulo = this.chart.titles.create();
subtitulo.text = this.subtitulo;
subtitulo.fontSize = 10;
const titulo = this.chart.titles.create();
titulo.text = this.titulo;
titulo.fontSize = 15;
titulo.marginTop = 10;
}
这个数据来自一个 servlet(是的,所有的 CORS 都通过了)。 我可以确认已加载数据(我可以正确看到“chart.data”值),但在数据加载后未绘制它自己的图表。
我用来加载数据的代码是:
this.chart.dataSource.url = 'https://myserver.com/ng/DataService/?param1=342¶m2=filterN&format=csv';
const csvParser = new am4core.CSVParser();
csvParser.options.useColumnNames = true;
this.chart.dataSource.parser = csvParser;
this.chart.dataSource.events.on('error', (error) => { console.log('Datasource error: ', error); });
this.chart.dataSource.load();
图表正在创建于 执行“加载”后,我可以在“开发者工具”中看到数据已正确加载,但图表仍为空。
我错过了什么吗?
【问题讨论】:
-
您的 PieSeries 对象在哪里?你定义了一个吗?
-
我真的没有定义一个。据我在 AmChart 文档中所读到的,我认为图表会从数据中推断出系列。 AmChart 文档站点确实缺少完整的示例。
-
不,它不会从数据中推断出系列,您需要定义一个。饼图文档页面上有完整的section that explains how series objects work on the documentation site 和plenty of full pie chart examples。
-
是的!添加系列使其工作。谢谢!!!
-
请您添加您的评论作为答案,因为它确实解决了问题!我要投票!!!谢谢!