目录
基本概念
在放json数组的时候,打印调试的时候不要使用alert,使用console.log进行打印,如下图:
alert截图如下:
使用console.log
通过这种方式,就能对echarts进行灵活的配置:
对比下这几种方式:
代码与实例
<template>
<div style="width: 500px; height:300px"></div>
</template>
<script>
export default {
props: {
dataValue: {
type: Array,
required: true
},
titleValue: {
type: Array,
required: true
},
idStr:{
type: "",
required: true
}
},
mounted(){
this.drawLine();
},
methods: {
//开始画图了
drawLine(){
if(this.dataValue.length != this.titleValue.length){
alert("error the this.dataValue.length != this.titleValue.length");
return;
}
// 基于准备好的dom,初始化echarts实例
let myChart = this.$echarts.init(document.getElementById(this.idStr));
let showData = [];
for(let i = 0; i < this.dataValue.length; i++){
let jsonData = {"value": this.dataValue[i], "name": this.titleValue[i]};
showData.push(jsonData);
}
// 指定图表的配置项和数据
let option = {
tooltip: {
trigger: 'item',
formatter: "{a} <br/>{b}: {c} ({d}%)"
},
legend: {
orient: 'vertical',
x: 'left',
//data:['直接访问','邮件营销','联盟广告','视频广告','搜索引擎']
data: this.titleValue
},
series: [
{
name:'访问来源',
type:'pie',
radius: ['50%', '70%'],
avoidLabelOverlap: false,
label: {
normal: {
show: false,
position: 'center'
},
emphasis: {
show: true,
textStyle: {
fontSize: '30',
fontWeight: 'bold'
}
}
},
labelLine: {
normal: {
show: false
}
},
data: showData
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
}
}
}
</script>