vue+echarts实现动态绘制图表及异步加载数据的方法


Posted in Javascript onOctober 17, 2018

前言

背景:vue写的后台管理,需要将表格数据绘制成图表(折线图,柱状图),图表数据都是通过接口请求回来的。

安装

cnpm install echarts --s   (我这里用了淘宝镜像,不知道同学自行百度)

实例化

   在已有的项目中下载好了echarts 之后,可以打开官方文档,但是我觉得官方文档对于实例化介绍的不够清晰,这也是我为什么在这么多的文章中还要写的原因,前辈写的太模糊了,我决定好好给后来人,需要在项目中引用图表的人,一些实用,快捷的东西。

官方文档:http://echarts.baidu.com/tutorial.html#5%20%E5%88%86%E9%92%9F%E4%B8%8A%E6%89%8B%20ECharts

不废话,贴代码

1.在需要用图表的地方引入 例如:hello.js

    import echarts from 'echarts'

2.hello.vue  中写个容器

<div id='myChart' style='width:600px;height:600px'>
</div>

3.在hello.js

export default {
 name: 'hello',
 data () {
  return {
   msg: 'Welcome to Your Vue.js App'
  }
 },
 mounted(){
  this.drawLine();
 },
 methods: {
  drawLine(){
    // 基于准备好的dom,初始化echarts实例
    let myChart = this.$echarts.init(document.getElementById('myChart'))
    // 绘制图表
    myChart.setOption({
      title: { text: '在Vue中使用echarts' },
      tooltip: {},
      xAxis: {
        data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
      },
      yAxis: {},
      series: [{
        name: '销量',
        type: 'bar',
        data: [5, 20, 36, 10, 10, 20]
      }]
    });
  }
 }
}

    这样就调用好了视力了,在页面刷新就可以了

效果如图:

vue+echarts实现动态绘制图表及异步加载数据的方法

这样是很简单的方法,嗯重点来了,我的数据又不是写死的~数据都是后台给我的呀(官方,还真的没有怎么说,示例也是ajax异步请求的)

项目一开始是有完整的一个表格数据,也就是我要把表格数据绘制成图表,还有一堆的筛选条件,有点懵逼~

感觉问题很多啊,给我五分钟,分析分析,分解分解一下

1.数据我都是有的,我需要绘制四条折线,表格数据循环复制给新的四个数组(筛选条件一变,四组数据也跟着变)

2.横坐标也是动态,项目是时间(刚开始我还想偏了,自动填充日期的那种),表格的第一行就是日期,同样用新数组储存

3.数据重新请求了,我的图表也要跟着变才对呀(图表重新绘制)

再次贴代码(废话再多,不如一行代码)

1.在调用筛选条件的方法那里,创建五个新的数组(四条折线),横坐标(日期)

    这里没有代码

2.横坐标动态的:

xAxis: {
     type: 'category',
     boundaryGap: false,
     data: this.xData, //xData 就是日期这个数组
   },

3.series (四条折线的数据)

series : [{

name:this.tooltipData[0],


type:'line',


stack: '总量',


data:this.new_userData,

},

{


name:this.tooltipData[1],


type:'line',


stack: '总量',


data:this.new_deviceData,

},

{


name:this.tooltipData[2],


type:'line',


stack: '总量',
 

data:this.active_userData,

},

{


name:this.tooltipData[3],


type:'line',


stack: '总量',


data:this.active_deviceData,

}]

4.随着筛选数据,重新绘制图表

    调用筛选条件方法的时候再调用这个实例化 drawline 方法就可以了

    this.drawLine();

总结

以上所述是小编给大家介绍的vue+echarts实现动态绘制图表及异步加载数据的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
网络图片延迟加载实现代码 超越jquery控件
Mar 27 Javascript
关闭时刷新父窗口两种方法
May 07 Javascript
javascript格式化json显示实例分析
Apr 21 Javascript
玩转JavaScript OOP - 类的实现详解
Jun 08 Javascript
JS实现列表的响应式排版(推荐)
Sep 01 Javascript
EasyUI中的dataGrid的行内编辑
Jun 22 Javascript
详谈Node.js之操作文件系统
Aug 29 Javascript
微信小程序画布圆形进度条显示效果
Nov 17 Javascript
微信小程序基于picker实现级联菜单
Feb 15 Javascript
微信小程序如何再次获取用户授权的方法
May 10 Javascript
Vue.js自定义指令学习使用详解
Oct 19 Javascript
JavaScript布尔运算符原理使用解析
May 06 Javascript
手把手教你写一个微信小程序(推荐)
Oct 17 #Javascript
微信小程序开发之tabbar图标和颜色的实现
Oct 17 #Javascript
解决百度Echarts图表坐标轴越界的方法
Oct 17 #Javascript
vue实现循环切换动画
Oct 17 #Javascript
element-ui upload组件多文件上传的示例代码
Oct 17 #Javascript
bootstrap table合并行数据并居中对齐效果
Oct 17 #Javascript
IE9 elementUI文件上传的问题解决
Oct 17 #Javascript
You might like
php程序之die调试法 快速解决错误
2009/09/17 PHP
php trim 去除空字符的定义与语法介绍
2010/05/31 PHP
PHP中把有符号整型转换为无符号整型方法
2015/05/27 PHP
了解PHP的返回引用和局部静态变量
2015/06/04 PHP
浅析Yii2集成富文本编辑器redactor实例教程
2016/04/25 PHP
php使用strip_tags()去除html标签仍有空白的解决方法
2016/07/28 PHP
PHP连接MySQL数据库并以json格式输出
2018/05/21 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
javascript 面向对象思想 附源码
2009/07/07 Javascript
入门基础学习 ExtJS笔记(一)
2010/11/11 Javascript
Jquery中&quot;$(document).ready(function(){ })&quot;函数的使用详解
2013/12/30 Javascript
jquery实现弹出层完美居中效果
2014/03/03 Javascript
详解参数传递四种形式
2015/07/21 Javascript
Angular移动端页面input无法输入的解决方法
2017/11/14 Javascript
简单理解Vue中的nextTick方法
2018/01/30 Javascript
vue2.5.2使用http请求获取静态json数据的实例代码
2018/02/27 Javascript
Vue 仿QQ左滑删除组件功能
2018/03/12 Javascript
nodejs acl的用户权限管理详解
2018/03/14 NodeJs
详解微信小程序框架wepy踩坑记录(与vue对比)
2019/03/12 Javascript
mpvue微信小程序开发之实现一个弹幕评论
2019/11/24 Javascript
微信小程序图片自适应实现解析
2020/01/21 Javascript
浅析微信小程序自定义日历组件及flex布局最后一行对齐问题
2020/10/29 Javascript
[43:58]DOTA2-DPC中国联赛定级赛 LBZS vs SAG BO3第一场 1月8日
2021/03/11 DOTA
Python基于pycrypto实现的AES加密和解密算法示例
2018/04/10 Python
对python中的six.moves模块的下载函数urlretrieve详解
2018/12/19 Python
Python函数中不定长参数的写法
2019/02/13 Python
Python实现二叉树前序、中序、后序及层次遍历示例代码
2019/05/18 Python
python 类的继承 实例方法.静态方法.类方法的代码解析
2019/08/23 Python
numpy求平均值的维度设定的例子
2019/08/24 Python
python实现FTP文件传输的方法(服务器端和客户端)
2020/03/20 Python
css3与html5实现响应式导航菜单(导航栏)效果分享
2014/02/12 HTML / CSS
如何写求职信
2014/05/24 职场文书
小学生十佳少年事迹材料
2014/08/20 职场文书
2014年中学生检讨书大全
2014/10/09 职场文书
田径运动会通讯稿
2015/07/18 职场文书
CSS巧用渐变实现高级感背景光动画
2021/12/06 HTML / CSS