首先安装echarts
npm install echarts --save
在main.js中引入echarts
import echarts from 'echarts'
Vue.prototype.$echarts = echarts
在vue中使用v-for
循环渲染数据并生成多个图表,但是echarts的容器名称只能使用id,这个时候v-for
的index
参数就起到了作用`
<div :key="index" v-for="(item,index) in sortArray">
<div :id="'my_echarts'+index"></div>
</div>
在initCharts中初始化echarts实例并通过setOption方法生成折线图(这里是折线图的例子)
initCharts(index,val) {
var chart = this.$echarts.init(document.getElementById('my_echarts'+index))
this.$http.getQuota().then(res => {
var XData = res
chart.setOption({
grid: {
show: 'true',
borderWidth: '0
},
xAxis: {
show: false,
data: xData[val]
},
yAxis: {
show: false
scale: true
},
series:[{
data: xData[val],
type: 'line',
itemStyle: {
normal: {
color:'#fd5965'
}
}
}]
})
)
}
给图表传入参数,v-for中只是为了生成图表容器
setEcharts() {
this.sortArray.forEcah((item,index) => {
this.initCharts(index,item.varietyTye)
})
}
在挂载阶段生成图表
mounted(){
this.setEcharts()
}