vue2.6踩坑之vchart的使用(图表)

简介: 介绍vchart 官网地址在使用 echarts 生成图表时,经常需要做繁琐的数据类型转化、修改复杂的配置项,v-charts 的出现正是为了解决这个痛点。基于 Vue2.0 和 echarts 封装的 v-charts 图表组件,只需要统一提供一种对前后端都友好的数据格式设置简单的配置项,便可轻松生成常见的图表。

介绍


vchart 官网地址


在使用 echarts 生成图表时,经常需要做繁琐的数据类型转化、修改复杂的配置项,v-charts 的出现正是为了解决这个痛点。基于 Vue2.0 和 echarts 封装的 v-charts 图表组件,只需要统一提供一种对前后端都友好的数据格式设置简单的配置项,便可轻松生成常见的图表。


图表种类如下图:


网络异常,图片无法展示
|


引入


官网上有非常多图表类型给我们选择,我们在main.js中按需引入即可,如折线图:


import 'v-charts/lib/style.css'
import VeLine from 'v-charts/lib/line.common'
Vue.component(VeLine.name, VeLine)
复制代码


使用


<template>
  <ve-line :data="chartData"></ve-line>
</template>
<script>
  export default {
    data: function () {
      return {
        chartData: {
          columns: ['日期', '访问用户', '下单用户', '下单率'],
          rows: [
            { '日期': '1/1', '访问用户': 1393, '下单用户': 1093, '下单率': 0.32 },
            { '日期': '1/2', '访问用户': 3530, '下单用户': 3230, '下单率': 0.26 },
            { '日期': '1/3', '访问用户': 2923, '下单用户': 2623, '下单率': 0.76 }
          ]
        }
      }
    }
  }
</script>
复制代码


如果图表不复杂,那么这个好像还挺简单地就结束了。。


图表属性


v-charts.js.org/#/props  非常重要!


下图是一些图表的公有属性,


网络异常,图片无法展示
|


假如要修改图表的legend,使用虚线和实线相结合的方式去表示数据。。。


网络异常,图片无法展示
|


如图这个红框的就是图例 Legend


这时我们要用到 extend 属性,在上面图表属性的链接中有介绍


网络异常,图片无法展示
|


通过该属性 我们可以使用echarts中setOption的所有参数


echarts.apache.org/zh/option.h…   非常重要!


网络异常,图片无法展示
|


代码如下:


echart有自带的icon给我们使用,如前两个,但是没有这个虚线。。


我们可以用 svg 简单画一条虚线,然后根据要求转出图片的Data URI 。


可以直接参考菜鸟教程的 svg 教程 www.runoob.com/svg/svg-str…


但是画出来的虚线颜色好像固定了。。暂时只能多画几条不同颜色的虚线了


<template>
  <ve-line :data="chartData" :extend="extend"></ve-line>
</template>
<script>
  export default {
    data () {
      this.extend = {
        'yAxis.0.name': 'y轴名字',
        'yAxis.0.nameLocation': 'middle',
        'yAxis.0.nameTextStyle.padding': 14,
        'yAxis.0.nameTextStyle.fontSize': 14,
        'series.0.type': 'line',
        'series.0.name': '访问用户',
        'series.0.lineStyle':{color:'#ef55a7',type: 'dashed'} ,
        'series.0.itemStyle.color': '#ef55a7',
        series: {
          label: {
            normal: {
              show: true
            }
          }
        },
         legend: {
          textStyle: {
          },
          data: [
            {name:'访问用户',icon:'circle'},    
            {name:'下单用户',icon:'roundRect'},
  {name:'下单率',icon: 'image://data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTEiIGhlaWdodD0iMTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CgogIDxsaW5lIHgxPSIwIiB5MT0iNSIgeDI9IjEwMCIgeTI9IjUiIHN0cm9rZS1kYXNoYXJyYXk9IjMgMSIgc3Ryb2tlPSIjZWY1NWE3Ii8+Cgo8L3N2Zz4='},  
          ]
        }
      }
      return {
        chartData: {
          columns: ['日期', '访问用户', '下单用户', '下单率'],
          rows: [
            { '日期': '1/1', '访问用户': 1393, '下单用户': 1093, '下单率': 0.32 },
            { '日期': '1/2', '访问用户': 3530, '下单用户': 3230, '下单率': 0.26 },
            { '日期': '1/3', '访问用户': 2923, '下单用户': 2623, '下单率': 0.76 },
            { '日期': '1/4', '访问用户': 1723, '下单用户': 1423, '下单率': 0.49 },
            { '日期': '1/5', '访问用户': 3792, '下单用户': 3492, '下单率': 0.323 },
            { '日期': '1/6', '访问用户': 4593, '下单用户': 4293, '下单率': 0.78 }
          ]
        }
      }
    }
  }
</script>
复制代码


当然不止这个图例可以改变, 还可以改变线的颜色,形状等等


具体可以通过这个echart的官方文档查看:echarts.apache.org/zh/option.h…


不过配置 series 的时候 vchart无法像 echart 那样子直接用数组表示,需要使用


上面代码中的格式 'series.0.type' 才可以




目录
相关文章
|
JavaScript 前端开发
HTML VSCode 自用插件列表 (包含Vue)
HTML VSCode 自用插件列表 (包含Vue)
410 0
|
关系型数据库 Linux Apache
|
SQL 关系型数据库 MySQL
MySQL外键约束行为解析:CASCADE, NO ACTION, RESTRICT, SET NULL
MySQL外键约束行为解析:CASCADE, NO ACTION, RESTRICT, SET NULL
2083 0
|
JavaScript 网络协议
Node.js
fs模块 文件写入 writeFile 异步写入 writeFileSync 同步写入 appendFile / appendFileSync 追加写入 createWriteStream 流式写入 文件读取 readFile 异步读取 readFileSync 同步读取 createReadStream 流式读取 文件移动与重命名 文件删除 文件夹操作 mkdir 创建文件夹 readdir 读取文件夹 rmdir 删除文件夹 查看资源状态 path模块
266 1
|
移动开发 JavaScript 前端开发
UniApp H5 跨域代理配置并使用(配置manifest.json、vue.config.js)
这篇文章介绍了在UniApp H5项目中处理跨域问题的两种方法:通过修改manifest.json文件配置h5设置,或在项目根目录创建vue.config.js文件进行代理配置,并提供了具体的配置代码示例。
UniApp H5 跨域代理配置并使用(配置manifest.json、vue.config.js)
|
JavaScript
vue3 vite配置@根路径---解决:找不到模块“./xx/xxx.vue”或其相应的类型声明
vue3 vite配置@根路径---解决:找不到模块“./xx/xxx.vue”或其相应的类型声明
4163 0
|
JavaScript 前端开发 Java
vue-day01 使用cdn引入使用
文章介绍了Vue.js的基础用法,包括数据绑定、条件渲染、列表渲染、事件处理等。通过示例代码展示了如何使用Mustache语法、v-once指令、v-html指令、v-bind和v-on指令,以及动态参数、修饰符和指令缩写。这些基础知识为初学者提供了Vue.js的使用入门。
vue-day01 使用cdn引入使用
|
Java Apache Maven
【异常解决】Handler dispatch failed;nested exception is java.lang.NoClassDefFoundError: org/apache/common
【异常解决】Handler dispatch failed;nested exception is java.lang.NoClassDefFoundError: org/apache/common
10135 0
|
JavaScript 测试技术 API
跟随通义灵码一步步升级vue2(js)项目到vue3版本
Vue 3 相较于 Vue 2 在性能、特性和开发体验上都有显著提升。本文介绍了如何利用通义灵码逐步将 Vue 2 项目升级到 Vue 3,包括备份项目、了解新特性、选择升级方式、升级依赖、迁移组件和全局 API、调整测试代码等步骤,并提供了注意事项和常见问题的解决方案。
1221 4
|
数据采集 存储 数据管理
CDGA|如何实施非常精准的数据治理策略?
精准的数据治理需要企业从设定明确目标、制定适应性策略、构建完善组织结构、制定严谨制度流程、采用先进技术工具、加强事前预防、推动数据驱动决策以及建立健全监督与评估机制等多个方面入手。只有这样,企业才能有效应对数据时代带来的挑战,充分释放数据价值,为组织的可持续发展提供有力支撑。