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 相关文章推荐
Mootools 1.2教程 滚动条(Slider)
Sep 15 Javascript
调试Javascript代码(浏览器F12及VS中debugger关键字)
Jan 25 Javascript
JS JQUERY实现滚动条自动滚到底的方法
Jan 09 Javascript
jQuery实现表格行上移下移和置顶的方法
May 22 Javascript
javascript实现跨域的方法汇总
Jun 25 Javascript
通过扫描二维码打开app的实现代码
Nov 10 Javascript
Vue仿手机qq的实例代码(demo)
Sep 08 Javascript
seaJs使用心得之exports与module.exports的区别实例分析
Oct 13 Javascript
js中如何完美的解析数据
Mar 18 Javascript
layui 阻止图片上传的实例(before方法)
Sep 26 Javascript
微信小程序实现点击图片放大预览
Oct 21 Javascript
JS实现鼠标按下拖拽效果
Jul 23 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
咖啡是不是喝了会上瘾?咖啡是必须品吗!
2021/03/04 新手入门
php 从数据库提取二进制图片的处理代码
2009/09/09 PHP
微信扫描二维码登录网站代码示例
2013/12/30 PHP
ThinkPHP表单数据智能写入create方法实例分析
2015/09/27 PHP
PHP设计模式之简单投诉页面实例
2016/02/24 PHP
Joomla开启SEF的方法
2016/05/04 PHP
在textarea文本域中显示HTML代码的方法
2007/03/06 Javascript
JQuery读取XML文件数据并显示的实现代码
2009/12/16 Javascript
js封装的textarea操作方法集合(兼容很好)
2010/11/16 Javascript
基于jquery的从一个页面跳转到另一个页面的指定位置的实现代码(带平滑移动的效果)
2011/05/24 Javascript
常见效果实现之返回顶部(结合淡入、淡出、减速滚动)
2012/01/04 Javascript
用最通俗易懂的代码帮助新手理解javascript闭包 推荐
2012/03/01 Javascript
超简单JS二级、多级联动的简单实例
2014/02/18 Javascript
JavaScript静态类型检查工具FLOW简介
2015/01/06 Javascript
详解JavaScript对象和数组
2015/12/03 Javascript
jQuery实现的placeholder效果完整实例
2016/08/02 Javascript
jQuery删除当前节点元素
2016/12/07 Javascript
Node.js中process模块常用的属性和方法
2016/12/13 Javascript
vue实现仿淘宝结账页面实例代码
2017/11/08 Javascript
详解TypeScript+Vue 插件 vue-class-component的使用总结
2019/02/18 Javascript
vue中监听返回键问题
2019/08/28 Javascript
vue项目接口域名动态获取操作
2020/08/13 Javascript
vue-cli中实现响应式布局的方法
2021/03/02 Vue.js
python中关于时间和日期函数的常用计算总结(time和datatime)
2013/03/08 Python
Python序列之list和tuple常用方法以及注意事项
2015/01/09 Python
浅谈python中的实例方法、类方法和静态方法
2017/02/17 Python
django框架自定义用户表操作示例
2018/08/07 Python
matplotlib实现热成像图colorbar和极坐标图的方法
2018/12/13 Python
对DataFrame数据中的重复行,利用groupby累加合并的方法详解
2019/01/30 Python
Python用dilb提取照片上人脸的示例
2020/10/26 Python
来自美国主售篮球鞋的零售商店:KICKSUSA
2017/11/28 全球购物
定制别致的瑜伽垫:Sugarmat
2019/06/21 全球购物
回门宴新郎答谢词
2014/01/12 职场文书
2014年教师政治学习材料
2014/06/02 职场文书
2015年度物业公司工作总结
2015/04/27 职场文书
驻村工作简报
2015/07/20 职场文书