使用echarts绘制图表时,数据变动重新绘制的图标中可能叠加的有上一次绘制图标遗留的数据。

30 阅读1分钟

调用myChart.clear();或对绘制图表的第二个参数传递true表示不叠加旧数据,而是替换旧数据。

// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
title: {
text: 'ECharts 示例'
},
tooltip: {},
legend: {
data:['销量']
},
xAxis: {
data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
},
yAxis: {},
series: [{
name: '销量',
type: 'bar',
data: [5, 20, 36, 10, 10, 20]
}]
};

// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);

// 在数据更新前,先清空图表数据
myChart.clear();

// 更新数据
var newData = ["T-shirt", "Woolen sweater", "Chiffon shirt", "Trousers", "High heels", "Socks"];
var newSeriesData = [50, 200, 360, 100, 100, 200];
myChart.setOption({
xAxis: {
data: newData
},
series: [{
name: '销量',
type: 'bar',
data: newSeriesData
}]
}, true); // 第二个参数为true,表示不叠加旧数据,而是替换旧数据