要更改整个数据集,可以使用AmCharts的API函数validateData()。此函数会重新加载新的数据,并更新图表。以下是一个示例代码:
// 创建一个图表实例
var chart = am4core.create("chartdiv", am4charts.XYChart);
// 设置数据源
chart.data = [
{
category: "Category 1",
value: 10
},
{
category: "Category 2",
value: 20
},
{
category: "Category 3",
value: 15
}
];
// 创建一个类别轴
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.valueY = "value";
series.dataFields.categoryX = "category";
// 更新整个数据集
function updateData() {
// 创建新的数据集
var newData = [
{
category: "Category 1",
value: 5
},
{
category: "Category 2",
value: 15
},
{
category: "Category 3",
value: 20
}
];
// 更新图表数据
chart.data = newData;
// 重新渲染图表
chart.validateData();
}
// 调用更新数据函数
updateData();
在上面的示例中,首先创建了一个图表实例,并设置了初始的数据源。然后,创建了一个类别轴、一个值轴和一个柱状图系列。接下来,定义了一个updateData()函数来更新整个数据集。在函数中,创建了新的数据集,并通过chart.data属性将其设置为图表的新数据。最后,调用chart.validateData()函数重新渲染图表以显示新的数据。