v-charts

因为工作需要,使用v-chart也有一段时间了,期间针对配置图表也遇到了不少问题,在这里总结一下。

如何配置图表信息

echart的配置项可谓是相当的海量,能不看就不看。而v-chart对其进行了不少的简化,所以我们想要自定义一个图表时,最好按照以下步骤来检查:

图表私有属性

v-chart每一个图表都有自己独有的设置项,想要配置这些项需要在组件上加入 :setting="chartSettings",然后在vue组建的data里设置chartSettings的值,如下:

<template>
  <ve-line :data="chartData" :settings="chartSettings"></ve-line> </template> <script> export default { data () { this.chartSettings = { xAxisType: 'time' } return { chartData: { columns: ['日期', '访问用户'], rows: [ { '日期': '2018-01-01', '访问用户': 1393 }, { '日期': '2018-01-02', '访问用户': 3530 }, { '日期': '2018-01-03', '访问用户': 2923 } ] } } } } </script> 

图表公有属性

v-chart所有图表组件中共有的属性,直接在图标组件上挂载:属性名称="属性值"即可设置,下面是一些比较常用的

名称类型默认值介绍
dataObject图表的显示数据
settingObject图表的私有属性
heightString400px高度
widthStringauto宽度,默认根据高度自动适配
tooltip-visiblebooleantrue是否显示提示框
legend-visiblebooleantrue是否显示图例
extendObject设置echart的详细属性

公共属性上最重要的可以说就是extend属性了,在vchart的公共属性里extend居然不在基本属性了,而是放在文档后面专门开了一段讲。当时为了找到这个属性可以说是废了老半天功夫。如果你在前两者中都没有找到想要的设置项,那就可以通过这个属性来设置echart的配置,毕竟是基于echart的嘛,所以echart的所有配置在这里都可以适用,下边是配置示例:

<template>
  <ve-histogram :data="chartData" :extend="chartExtend"></ve-histogram> </template> <script> export default { data () { this.chartExtend = { series: { barWidth: 10 }, tooltip: { trigger: 'none' } } /* 等同于 this.chartExtend = { series (v) { v.forEach(i => { i.barWidth = 10 }) return v }, tooltip (v) { v.trigger = 'none' return v } } 等同于 this.chartExtend = { 'series.0.barWidth': 10, 'series.1.barWidth': 10, 'tooltip.trigger': 'none' } */ return { chartData: { ... } } } } </script> 

Echart配置项

接下来就是重头戏了,如果你在前两者里都没有找到,那就只能从echart的配置项里找了,下面是一些目前比较常用的配置项

名称类型介绍
legendObject用于控制图表的图例组件,包括位置、样式、类型、图标等
seriesObject每个图表的专属设置项,用于控制图表的详细样式位置等

其中series的属性就可以完成绝大多数配置了,下边是一个配置示例 实现的效果为:

  • 图例位于图表右方,且距右边缘20px
  • 图例颜色#A0A0A0,字体12px
  • 环图中心相对于左上角距离112px, s92px
  • 隐藏环图上的文本标签和引导线
  • 环图内半径55px与外半径72px
//template
<ve-ring :settings="chartSetting" legend-position="right" :extend="chartExtend"></ve-ring> ... //script data () { return { chartExtend: { series: { center: [112, 92] }, legend: { right: 20, textStyle: { color: '#A0A0A0', fontSize: 12 } } } chartSetting: { label: { show: false }, labelLine: { show: false }, radius: [55, 72] } } }

转载于:https://www.cnblogs.com/cina33blogs/p/10775518.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值