方法一:echarts自带(该方法能进行折线图和柱状图的切换,因为这两种图表渲染的数据格式是一致的)
// 在options中加入以下配置即可
toolbox: {
show: true,
feature: {
magicType: {type: ['line', 'bar']}//此处最新版本echarts可设置三个值(stack-堆叠模式),可自行查看echarts文档
}
}
方法二:自己进行数据处理,并重新渲染echarts(自己实操选用的此方法,想法是直接取到id,并重新渲染echarts)
//**此方法要注意的问题,在切换时移除_echarts_instance_属性,并将渲染的id置空,否则会出现配置覆盖等问题**
document.getElementById(id).removeAttribute("_echarts_instance_");
document.getElementById(id).innerHTML="";
方法三:在网上看到的,借鉴学习(原来在切换时,我们需要重新设置的是option,这样就完美解决了上一个方法会出现的配置覆盖问题)
// 默认显示第一个chart
option = option1;
option && myChart.setOption(option);
// 点不同的按钮,就切换不同的option,要记得先清除上一个chart,否则会叠加在一起显示
var chart_button = document.getElementById("chart2-button");
chart_button.addEventListener('click',function(){
myChart.clear();
option = option2;
option && myChart.setOption(option);
})
//根据窗口的大小变动图表 --- 重点
window.onresize = function(){
myChart.resize();
}