getTransformerSubstation3 () {
// this.myChart3.clear()
this.myChart3 = this.$echarts.init(document.getElementById('oneChart3'))
api
.getTransformerSubstation3(this.bdzparams)
.then(data => {
this.transformerSubstationList3 = data
let option = {
yAxis: {
type: 'category',
data: this.transformerSubstationList3.data.Asix,
},
xAxis: {
type: 'value',
},
series: [
{
data: this.transformerSubstationList3.data.data0,
type: 'bar',
itemStyle: {
normal: {
color: '#32b16c',
label: {
show: true,
position: 'right',
textStyle: {
color: 'black',
fontSize: 10,
},
},
},
},
barWidth: 20,
},
],
grid: {
x: '3%',
y: '20%',
bottom: '3%',
containLabel: true,
},
},
},
}
this.myChart3.setOption(option)
})
},
我之前也遇到这个问题了,我的解决办法是:
1.先清空所有数据
this.lineOption.legend.data = []
this.lineOption.xAxis.data = []
for (let j in this.lineOption.series) {
this.lineOption.series[j].data = []
this.lineOption.series[j].name = ''
}
2.再赋值
this.lineOption.legend.data.push(this.options[i].children[j].name)
this.lineOption.xAxis.data.push(yearStr.toString() + '-' + monthStr + '-' + dayStr)
this.lineOption.series[j] = { // 初始化
name: name,
type: 'line',
yAxisIndex: 0,
showAllSymbol: true,
data: seriesdata
}
注意每一项必须有值,若接口返回空,则赋值为0
this.myChart3是undefined或者它没有这个方法
数据修改了,只要再调用setOption方法即可,例如:
$('#table_id_example').dataTable({
"aaSorting": []
});
var myChart = echarts.init(document.getElementById('chart'));
var option = {xxxxxxxx} // 这里设置你的表格类型、表格数据那些
myChart.setOption(option);
// 如果修改了数据,那么修改 option对象里的设置的表格数据
option = {xxxxxxxxxxxxxxx}
myChart.setOption(option); // 再次调用即可
这个是我的做法,我的功能是点击年份,查询该年份下的所有月份的数据,将图表重绘。
myChart是我点击的那个图表同时也是重绘的图表
myChart.on('click',function(){
json_data="后台方法返回的数据";
myChart.setOption({
series: [{
data: json_data.data
}],
title:{
text: json_data.data_title
}
});
})