当一个系列没有值时,AmCharts 4 可能会出现错误。这个问题可以通过以下解决方法来解决:
try {
// 创建图表
var chart = am4core.create("chartdiv", am4charts.XYChart);
// 添加数据
var data = [
// 数据系列1
{"category": "A", "value": 10},
{"category": "B", "value": 20},
{"category": "C", "value": 0},
// 数据系列2
{"category": "A", "value": 5},
{"category": "B", "value": 15},
{"category": "C", "value": 25}
];
// 创建一个数据源
var dataSource = new am4core.DataSource();
dataSource.data = data;
// 创建一个类别轴
var categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());
categoryAxis.dataFields.category = "category";
// 创建一个值轴
var valueAxis = chart.yAxes.push(new am4charts.ValueAxis());
// 创建一个柱状图系列
var series = chart.series.push(new am4charts.ColumnSeries());
series.dataFields.categoryX = "category";
series.dataFields.valueY = "value";
series.dataSource = dataSource; // 使用数据源
} catch (error) {
console.log("An error occurred:", error);
}
// 添加数据
var data = [
// 数据系列1
{"category": "A", "value": 10},
{"category": "B", "value": 20},
{"category": "C", "value": 0},
// 数据系列2
{"category": "A", "value": 5},
{"category": "B", "value": 15},
{"category": "C", "value": 25}
];
// 过滤没有值的系列
data = data.filter(function(item) {
return item.value !== undefined && item.value !== null;
});
// 创建图表
var chart = am4core.create("chartdiv", am4charts.XYChart);
// 创建一个数据源
var dataSource = new am4core.DataSource();
dataSource.data = data;
// 其他代码...
通过上述方法,当一个系列没有值时,AmCharts 4 不会出现错误,而是会正常处理数据或捕获错误。
上一篇:AmCharts 4 处理空数据
下一篇:AMCHARTS 4 分组数据