JSFiddle - React, Tailwind, and code Playground
by 半 月
HTML
<script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/echarts/3.7.0/echarts.common.js"></script>
<button class="toggle" style="margin-bottom:20px;">toggleData</button>
<div class="demo" id="trade-history" style="width: 550px; height: 300px;"></div>
JavaScript
$(function() {
var echartOpt = {
fz: '15',
color: '#fff'
};
var demo = echarts.init(document.getElementById('trade-history'));
// echarts 基本配置
var demoOption = {
tooltip: {},
legend: {
data: ['A', 'B', 'C', 'D', 'E'],
},
calculable: true,
xAxis: {
data: ['2007', "2008", "2009", "2010", "2011"],
},
yAxis: [{
type: 'value',
name: '贸易量(万吨)',
}],
series: [{
name: 'A',
type: 'bar',
barMaxWidth: 20,
itemStyle: {
normal: {
color: '#3fa7dc'
}
},
data: []
}, {
name: 'B',
type: 'bar',
barMaxWidth: 20,
itemStyle: {
normal: {
color: '#ffea38'
}
},
data: []
}]
}
// 将基本配置 传入到实例当中 以后 通过 默认 merge 方式来 只更新数据
demo.setOption(demoOption)
// 数据更新函数
function initDemo(data, obj) {
demo.setOption(data)
}
// 假数据 1
var dataOne = {
series: [{
name: 'A',
data: [200, 200, 300, 330, 550]
}]
}
// 假数据 2
var dataTwo = {
series: [{
name: 'A',
data: [100, 300, 100, 330, 350],
}, {
name: 'B',
data: [200, 100, 400, 300, 600],
}]
}
// 页面初始化
initDemo(dataOne)
var toggleBtn = document.querySelector('.toggle')
// 无用的循环数据使用
var n = 0
toggleBtn.addEventListener('click', function () {
n = (n + 1) % 2
var data = n === 0 ? dataOne : dataTwo
initDemo(data)
})
})