vue-cli和v-charts实现可视化图表过程解析


Posted in Javascript onOctober 08, 2019

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

v-charts的中文社区文档(https://v-charts.js.org/#/),可根据项目需要自主学习和浏览;

因为项目需要用到了折线图的图标展示,图表用法大同小异,本文只讲述利用v-charts来构建折线图;

首先我们需要node和npm包管理工具,现在一般的新版本的node都已经内置npm包管理工具,node最新版本下载可去http://nodejs.cn/node官网进行下载,下载安装完成之后,我们可以按win+R快捷键打开运行对话框,然后输入cmd回车;

vue-cli和v-charts实现可视化图表过程解析

进入命令行工具之后输入node -v(注意中间有空格),如果下载成功会输出node的版本号;(这里我的node版本是v10.16.1)

vue-cli和v-charts实现可视化图表过程解析

装好node工具之后,我们可以在我们的项目终端或者项目文件夹中打开命令行工具输入命令:

npm i v-charts echarts -S

输入之后npm包管理工具就会自动的去下载echarts;当然,作为图表可视化插件库v-charts也为我们提供了cdn的方式(本文暂时只具体讲述vue-vli模式安装,cdn的方式就是直接通过标签引入文件即可):

<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/v-charts/lib/index.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/v-charts/lib/style.min.css" rel="external nofollow" >

安装完v-charts之后,我们将要在我们的项目main.js中进行注册和使用:

// main.js
import Vue from 'vue'
import VCharts from 'v-charts'
import App from './App.vue'
Vue.use(VCharts)
new Vue({
 el: '#app',
 render: h => h(App)
})

这样,我们的v-charts就已经安装并完成了注册了,安装步骤和使用都还是比较方便简洁的;

那么我们如何使用v-charts进行生成图表呢?

<template>
//折线图的视图展示层,双向绑定chartData进行数据填充 
//双向绑定settings,进行一些设置
 <ve-line :data="chartData" :settings="chartSettings"></ve-line>
</template>

<script>
 export default {
  data: function () {
   return {
    chartData: {
 

chartSettings:{




//设置中文图例




labelMap:{





//date对应后台返回json数据的key,具体值根据接口字段来修改





date:"日期",





//total对应后台返回son数据的value,具体值根据接口字段来修改





total:"商户数量"





}




},



chartData: {




//这里的格式必须是对应上面后台接口的字段才能显示图例




columns: ['date', 'total'],




rows: []




},
    }
   }
  }
 }
</script>

然后我们写我们的方法进行axios请求后台数据进行填充,拿到的数据进行赋值给this.chartData.rows,数据类型要求是json格式的 数组

sevenTurnover(){
     this.$http({
       url:"merchantMain/sevenTurnover",
       method:"get",
       params:{
         machineCode:this.$route.query.machineCode
       }
     }).then((res)=>{
       console.log(res.data.data);
       this.chartData.rows=res.data.data;
       console.log(this.chartData.rows);
       this.turnoverNumber();
     })
   },

这样,我们就可以通过调用接口进行可视化图表展示了,效果图如下(这个是移动端项目的图表展示效果):

vue-cli和v-charts实现可视化图表过程解析

v-charts的入门使用还是比较简单的,具体的一些个性化设置或修改可以根据文档进行自定义修改

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery 全选效果实现代码
Mar 23 Javascript
JS 跳转页面延迟2种方法
Mar 29 Javascript
判断一个对象是否为jquery对象的方法
Mar 12 Javascript
node.js中的fs.mkdir方法使用说明
Dec 17 Javascript
js编写一个简单的产品放大效果代码
Jun 27 Javascript
jQuery表单事件实例代码分享
Aug 18 Javascript
easyui导出excel无法弹出下载框的快速解决方法
Nov 10 Javascript
微信小程序实现获取自己所处位置的经纬度坐标功能示例
Nov 30 Javascript
详解Angular系列之变化检测(Change Detection)
Feb 26 Javascript
JavaScript实现写入文件到本地的方法【基于FileSaver.js插件】
Mar 15 Javascript
javaScript中indexOf用法技巧
Nov 26 Javascript
微信小程序canvas实现签名功能
Jan 19 Javascript
vue路由传参页面刷新参数丢失问题解决方案
Oct 08 #Javascript
vux-scroller实现移动端上拉加载功能过程解析
Oct 08 #Javascript
深入学习Vue nextTick的用法及原理
Oct 08 #Javascript
jQuery 筛选器简单操作示例
Oct 02 #jQuery
jQuery 查找元素操作实例小结
Oct 02 #jQuery
JavaScript 作用域实例分析
Oct 02 #Javascript
JavaScript Dom 绑定事件操作实例详解
Oct 02 #Javascript
You might like
PHP编程网上资源导航
2006/10/09 PHP
php 动态添加记录
2009/03/10 PHP
PHP文件操作实现代码分享
2011/09/01 PHP
php 修改、增加xml结点属性的实现代码
2013/10/22 PHP
php从字符串创建函数的方法
2015/03/16 PHP
php中JSON的使用方法
2015/04/30 PHP
PHP中抽象类和抽象方法概念与用法分析
2016/05/24 PHP
利用PHP_XLSXWriter代替PHPExcel的方法示例
2017/07/16 PHP
javascript实现查找数组中最大值方法汇总
2016/02/13 Javascript
实例讲解jQuery EasyUI tree中state属性慎用
2016/04/01 Javascript
Javascript将数值转换为金额格式(分隔千分位和自动增加小数点)
2016/06/22 Javascript
jQuery学习之DOM节点的插入方法总结
2017/01/22 Javascript
微信小程序实现移动端滑动分页效果(ajax)
2017/06/13 Javascript
node.js 核心http模块,起一个服务器,返回一个页面的实例
2017/09/11 Javascript
vue 做移动端微信公众号采坑经验记录
2018/04/26 Javascript
JavaScript中set与get方法用法示例
2018/08/15 Javascript
vue3.0中使用postcss-pxtorem的具体方法
2019/11/20 Javascript
[03:18]DOTA2放量测试专访820:希望玩家加入国服大家庭
2013/08/25 DOTA
[01:05:07]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第一场2月1日
2021/03/11 DOTA
python列表去重的二种方法
2014/02/14 Python
Python中的random()方法的使用介绍
2015/05/15 Python
Python中time模块与datetime模块在使用中的不同之处
2015/11/24 Python
21行Python代码实现拼写检查器
2016/01/25 Python
python实现多线程的两种方式
2016/05/22 Python
python 3利用Dlib 19.7实现摄像头人脸检测特征点标定
2018/02/26 Python
Python迭代器定义与简单用法分析
2018/04/30 Python
django之对FileField字段的upload_to的设定方法
2019/07/28 Python
Python 异步协程函数原理及实例详解
2019/11/13 Python
浅谈tensorflow 中tf.concat()的使用
2020/02/07 Python
Pretty Green美国:英式摇滚服饰风格代表品牌之一
2019/01/23 全球购物
大学生村官典型材料
2014/01/12 职场文书
电台实习生求职信
2014/02/25 职场文书
幼儿园庆六一主持词
2015/06/30 职场文书
投诉信范文
2015/07/02 职场文书
MySql学习笔记之事务隔离级别详解
2021/05/12 MySQL
Nginx内网单机反向代理的实现
2021/11/07 Servers