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 相关文章推荐
javascript 关于# 和 void的区别分析
Oct 26 Javascript
JS文本框不能输入空格验证方法
Mar 19 Javascript
通过Javascript读取本地Excel文件内容的代码示例
Apr 08 Javascript
JS实现仿新浪黄色经典滑动门效果代码
Sep 27 Javascript
用JS生成UUID的方法实例
Mar 30 Javascript
jQuery中设置form表单中action值的实现方法
May 25 Javascript
vue里面使用mui的弹出日期选择插件实例
Sep 16 Javascript
使用puppeteer爬取网站并抓出404无效链接
Dec 20 Javascript
实例详解vue中的$root和$parent
Apr 29 Javascript
微信小程序 可搜索的地址选择实现详解
Aug 28 Javascript
vue项目引入ts步骤(小结)
Oct 31 Javascript
javascript实现画板功能
Apr 12 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 面向对象 PHP5 中的常量
2010/05/05 PHP
php获取当月最后一天函数分享
2015/02/02 PHP
PHP设计模式之工厂模式与单例模式
2016/09/28 PHP
php实现文件上传及头像预览功能
2017/01/15 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
2017/08/28 PHP
9个JavaScript评级/投票插件
2010/01/18 Javascript
js querySelector() 使用方法
2016/12/21 Javascript
JS Select下拉框(支持输入模糊查询)
2017/02/04 Javascript
基于js 各种排序方法和sort方法的区别(详解)
2018/01/03 Javascript
layui问题之模拟select点击事件的实例讲解
2018/08/15 Javascript
vue.extend与vue.component的区别和联系
2018/09/19 Javascript
nodeJs的安装与npm全局环境变量的配置详解
2020/01/06 NodeJs
浅谈vue获得后台数据无法显示到table上面的坑
2020/08/13 Javascript
JavaScript Image对象实现原理实例解析
2020/08/26 Javascript
python中的sort方法使用详解
2014/07/25 Python
使用Python下载歌词并嵌入歌曲文件中的实现代码
2015/11/13 Python
Java多线程编程中ThreadLocal类的用法及深入
2016/06/21 Python
Django基于ORM操作数据库的方法详解
2018/03/27 Python
python实现京东秒杀功能
2018/07/30 Python
解决python3 pika之连接断开的问题
2018/12/18 Python
Python3.4学习笔记之 idle 清屏扩展插件用法分析
2019/03/01 Python
Python的高阶函数用法实例分析
2019/04/11 Python
Python批量查询关键词微信指数实例方法
2019/06/27 Python
python怎么判断素数
2020/07/01 Python
Python经典五人分鱼实例讲解
2021/01/04 Python
STUBHUB日本:购买和出售全球活动门票
2018/07/01 全球购物
Conforama瑞士:家具、厨房、电器、装饰
2020/09/06 全球购物
Vrbo英国:预订度假屋
2020/08/19 全球购物
大学生自我评价怎样写好
2013/10/23 职场文书
吸烟检讨书2000字
2014/02/13 职场文书
基督教婚礼主持词
2014/03/14 职场文书
实验室的标语
2014/06/20 职场文书
八荣八耻演讲稿
2014/09/15 职场文书
海南召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
百家讲坛观后感
2015/06/12 职场文书
简历中的自我评价应该这样写!
2019/07/12 职场文书