使用V-chart时踩过的一些坑

简介: 因为工作需要,使用v-chart也有一段时间了,期间针对配置图表也遇到了不少问题,在这里总结一下。如何配置图表信息echart的配置项可谓是相当的海量,能不看就不看。

因为工作需要,使用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所有图表组件中共有的属性,直接在图标组件上挂载:属性名称="属性值"即可设置,下面是一些比较常用的

名称 类型 默认值 介绍
data Object 图表的显示数据
setting Object 图表的私有属性
height String 400px 高度
width String auto 宽度,默认根据高度自动适配
tooltip-visible boolean true 是否显示提示框
legend-visible boolean true 是否显示图例
extend Object 设置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的配置项里找了,下面是一些目前比较常用的配置项

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

其中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]
    }
  }
}
目录
相关文章
|
6月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的网上摄影工作室的设计与实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的网上摄影工作室的设计与实现(源码+lw+部署文档+讲解等)
|
6月前
AutoJS4.1.0实战教程 ---番茄免费小说
AutoJS4.1.0实战教程 ---番茄免费小说
103 0
|
API
三分钟上手Highcharts简易甘特图
三分钟上手Highcharts简易甘特图
98 0
echarts统计图踩坑合集
echarts统计图踩坑合集
56 0
R-plotly|甘特图(Gantt chart)- 一不小心年中了,立个flag
R-plotly|甘特图(Gantt chart)- 一不小心年中了,立个flag
|
定位技术
AMap+Three.js踩坑日记
最近有个项目要跟高德地图结合,2D功能和3D功能都要有,于是就用到`AMap.GLCustomLayer`,能让我用Three,那就可以放飞自我了,然而我头秃了!
|
数据可视化 Go 项目管理
R-plotly|交互式甘特图(Gantt chart)-项目管理/学习计划
R-plotly|交互式甘特图(Gantt chart)-项目管理/学习计划
205 0
|
存储 Kubernetes Go
helm chart编写入门
helm chart编写入门
2000 0
|
Kubernetes 应用服务中间件 Linux
helm实战之开发Chart
实战自定义Chart的开发
465 0
helm实战之开发Chart
|
Kubernetes Cloud Native 开发者
从入门到实践:创作一个自己的 Helm Chart
前言 我们平时在日常生活中会经常在不同的平台上与各种各样的应用打交道,比如从苹果的 App Store 里下载的淘宝、高德、支付宝等应用,或者是在 PC 端安装的 Word、Photoshop、Steam。