v-charts 的使用
echarts 官网地址:https://echarts.apache.org/examples/zh/index.html
vue 使用 v-charts:https://v-charts.xgqfrms.xyz/#/
options 属性操作文档:https://echarts.apache.org/zh/option.html
以环形图为例,记录 v-charts 使用方法
1. 使用组件
vue
<ve-ring
:after-config="afterConfig"
:data="ringData"
:settings="chartSettings"
:extend="extendRing"
>
</ve-ring>2. 普通配置 settings
settings为 v-charts 提供的设置项,包含的是 echarts 中常用的一些配置项,绝大多数时候均满足需要chartSettings为结构体,与自定义的结构体一样;放在data()的return中:
js
export default {
data() {
// ...
return {
// ...
chartSettings: {
radius: [80, 100],
limitShowNum: 15,
label: {
show: false,
position: 'center'
},
},
// ...
}
},
}3. 额外配置 extend
extend属性为 echarts 原生的options属性配置;- 详细配置请参考 echarts 官网
- 要注意的是,需要在
data()的最开始进行配置
javascript
export default {
data() {
this.extendRing = {
title: {
text: 0,
subtext: '总数',
// left: '49%',
left: 'center',
top: 'center',
},
// ...
}
return {
// ...
}
}
}4. 钩子函数
- https://woolen.gitee.io/v-charts/#/props?id=钩子函数
- 其中一个使用场景:使用请求后端的数据修改
options中属性值 - 比如环形图的
title文字为后端返回的数据总数,无法直接使用自定义的属性或者自定义的函数来进行返回给它;这时候就可以定义after-config钩子函数来进行处理了;函数与自定义函数一样,在methods中定义即可
5. 常用诀窍
5.1 饼图中间显示总数值
使用 options.title 属性,将他的位置定位到中间;显示效果就是会处于饼图中间
5.2 饼图的文本标签在饼图中间显示
- 关闭标签,并设置显示位置为 center
- 配置
emphasis属性
javascript
export default {
data() {
this.extendRing = {
title: {
// ...
},
series: {
tooltip: {
formatter: '{b}',
},
label: {
show: false,
position: 'center'
},
emphasis: {
label: {
show: true,
formatter: '{c}',
fontSize: 30,
fontWeight: 'bold'
}
},
}
}
}
}