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
【vue】 vue-seamless-scroll 无缝滚动依赖
【vue】 vue-seamless-scroll 无缝滚动依赖
2460 1
|
10月前
|
机器学习/深度学习 人工智能 自然语言处理
择业地图:想成为AI产品经理,该考CAIE还是微软AI-900?
当“AI+”成为全行业转型的核心命题,AI产品经理作为连接技术与业务的关键角色,已成为职场热门赛道。面对招聘要求中“具备AI相关技能认证优先”的隐性门槛,CAIE(注册人工智能工程师)与微软AI-900(Azure AI基础认证)成为多数求职者的备选清单。但两者并非“二选一”的竞争关系,而是适配不同职业路径的能力锚点。要做出理性选择,需先厘清:AI产品经理真正需要的认证价值是什么?两种认证的核心差异又在哪里?
|
3月前
|
Java API PHP
阿里千问大模型API多语言对接完全指南:PHP、Java、.NET、Python、Go全栈实战
本文系统性地讲解了如何通过PHP、Java、.NET(C#)、Python、Go五种主流编程语言对接阿里云通义千问大模型API。文章从账号注册、服务开通、API Key获取等前置准备开始,详细阐述了DashScope原生SDK与OpenAI兼容接口两种调用方式。针对每种语言,提供了完整的代码示例、环境配置说明、参数调优建议以及常见错误处理方案。同时深入介绍了模型选型策略、流式输出实现、安全实践和成本优化技巧,帮助开发者在不同技术栈下高效集成千问大模型能力,快速构建AI驱动的应用。
|
7月前
|
缓存 JavaScript 前端开发
Bun.js:四大核心功能 + 性能对比 + 实战教程,新手也能快速上手
Bun.js 是一款高性能、一体化的 JavaScript/TypeScript 工具链,集运行时、包管理器、打包器、测试器于一身,启动快、配置简、兼容 Node.js,支持 TS/JSX 零配置运行。适合新项目、性能敏感型应用及 TypeScript 全栈开发。(239字)
1548 1
|
移动开发 监控 网络协议
一文了解WebSocket及Springboot集成WebSocket
一文了解WebSocket及Springboot集成WebSocket
一文了解WebSocket及Springboot集成WebSocket
|
JavaScript
vue3 vite配置@根路径---解决:找不到模块“./xx/xxx.vue”或其相应的类型声明
vue3 vite配置@根路径---解决:找不到模块“./xx/xxx.vue”或其相应的类型声明
5088 0
|
数据采集 自然语言处理 API
Python反爬案例——验证码的识别
Python反爬案例——验证码的识别
1296 2
|
JSON 数据格式
layui-Dtree树结构
这是一个关于layui-Dtree树结构的总结。Dtree是一个用于展示树形数据的组件,可以从[这个链接](https://www.wisdomelon.com/DTreeHelper/)下载。数据格式支持标准、list类型和layui+list集合,示例代码展示了如何渲染和配置这些格式。此外,Dtree提供了图标监听、节点监听和节点双击事件的回调功能。它还支持带复选框的节点,允许用户进行多选操作,并能获取选中节点的参数。最后,文章以一个简单的提交信息示例结束。
1100 2
使用qemu来学习Linux的休眠和唤醒
使用qemu来学习Linux的休眠和唤醒