在vue中使用Echarts画曲线图的示例


Posted in Javascript onOctober 03, 2020

现实的工作中, 数据不可能写死的,所有的数据都应该通过发送请求进行获取。
所以本项目的需求是请求服务器获得二维数组,并生成曲线图。曲线图的横纵坐标均从获得的数据中取得。
Echarts官方文档:

https://ecomfe.github.io/echarts-doc/public/en/index.html

前端框架使用vue,服务器使用express搭建,交互使用axios。

一.引入vue-resource

通过npm下载vue-resource

npm install vue-resource --save

在main.js中引入vue-resource并注册

// main.js

import VueResource from 'vue-resource' 
Vue.use(VueResource)

二.设置aysnc-lineChart-option.js

将该曲线图的没有数据的option抽取到async-lineChart-option.js中。

此代码在src/echarts/aysnc-lineChart-option.js文件中,代码如下。

export const option = {
  title: { text: '曲线图' },
  backgroundColor: '#FBFBFB',
  tooltip: {
    trigger:'axis'
  },
  xAxis: {
    data: [],
    name: 'id'
  },
  yAxis: {},
  series: [{
    name: 'data',
    type: 'line',
    data: [],
    smooth : true,
    itemStyle: {
      normal: {
        color: 'hotpink'
      }
    }
  }]
}

三.在Curve.vue中请求数据

    1.从async-lineChart-option.js中引入option

2.在methods中添加drawLineChart()方法

3.在mounted()钩子函数中调用drawBarChart()

4.添加加载动画,在drawLineChart()方法中添加showLoading()和hideLoading()

此代码在src/views/Curve.vue中,代码如下:

<script>
  import {option} from '../echarts/aysnc-lineChart-option.js' //从aysnc-lineChart-option.js中引入option

  export default {
    name: 'Curve',

    mounted() {
      //调用drawLineChart()
      this.drawLineChart();
    },
    data () {
      return {

      }
    },
    methods:{

drawLineChart() {
        // 基于准备好的dom,初始化echarts实例
        var myChart = this.$echarts.init(document.getElementById('myChart'));
        // 绘制基本图表
        myChart.setOption(option);

        //显示加载动画
        myChart.showLoading();

        //获取数据
        this.$axios.get('/getdate').then(res => {

          //将json对象的所有id数据组成一个数组
          var id = [];
          for(let i = 0;i < res.data.length;i++){
            id.push(res.data[i].id);
          }

          //将json对象中的所有data数据组成一个数组
          var data = [];
          for(let i = 0;i < res.data.length;i++){
            data.push(res.data[i].data);
          }

          setTimeout(()=>{ //为了让加载动画效果明显,这里加入了setTimeout,实现300ms延时
            myChart.hideLoading(); //隐藏加载动画
            myChart.setOption({
              xAxis: {
                data: id
              },
              series: [{
                 data: data
              }]
            })
          }, 300 )
        })
      },
    },

  };


</script>

四.效果图

在vue中使用Echarts画曲线图的示例

以上就是在vue中使用Echarts画曲线图的示例的详细内容,更多关于vue Echarts画曲线图的资料请关注三水点靠木其它相关文章!

Javascript 相关文章推荐
Javascript remove 自定义数组删除方法
Oct 20 Javascript
qTip 基于JQuery的Tooltip插件[兼容性好]
Sep 01 Javascript
js中的referrer返回上一页使用介绍
Sep 26 Javascript
js网页滚动条滚动事件实例分析
May 05 Javascript
jQuery生成假加载动画效果
Dec 01 Javascript
jQuery、zepto、js常用小技巧
Feb 12 Javascript
Javascript面试经典套路reduce函数查重
Mar 23 Javascript
vuejs+element-ui+laravel5.4上传文件的示例代码
Aug 12 Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
Aug 15 jQuery
微信小程序商品详情页的底部弹出框效果
Nov 16 Javascript
jQuery实现基本淡入淡出效果的方法详解
Sep 05 jQuery
如何通过setTimeout理解JS运行机制详解
Mar 23 Javascript
vue 虚拟DOM的原理
Oct 03 #Javascript
vue使用video插件vue-video-player的示例
Oct 03 #Javascript
区分vue-router的hash和history模式
Oct 03 #Javascript
Vue双向数据绑定(MVVM)的原理
Oct 03 #Javascript
Chrome插件开发系列一:弹窗终结者开发实战
Oct 02 #Javascript
js通过canvas生成图片缩略图
Oct 02 #Javascript
JS检测浏览器开发者工具是否打开的方法详解
Oct 02 #Javascript
You might like
ASP知识讲座四
2006/10/09 PHP
PHP 字符串编码截取函数(兼容utf-8和gb2312)
2009/05/02 PHP
php微信开发之谷歌测距
2018/06/14 PHP
利用javascript实现一些常用软件的下载导航
2009/08/03 Javascript
js原生态函数中使用jQuery中的 $(this)无效的解决方法
2011/05/25 Javascript
3款实用的在线JS代码工具(国外)
2012/03/15 Javascript
JavaScript之自定义类型
2012/05/04 Javascript
关于JS管理作用域的问题
2013/04/10 Javascript
JavaScrip实现PHP print_r的数功能(三种方法)
2013/11/12 Javascript
jQuery实现在最后一个元素之前插入新元素的方法
2015/07/18 Javascript
javascript实现支持移动设备画廊
2015/08/24 Javascript
原生JS实现图片轮播与淡入效果的简单实例
2016/08/21 Javascript
PHP实现本地图片上传和验证功能
2017/02/27 Javascript
bootstrap table单元格新增行并编辑
2017/05/19 Javascript
Angular表格神器ui-grid应用详解
2017/09/29 Javascript
判断iOS、Android以及PC端的示例代码
2018/11/15 Javascript
深入解析koa之中间件流程控制
2019/06/17 Javascript
整理 node-sass 安装失败的原因及解决办法(小结)
2020/02/19 Javascript
[54:45]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 Optic vs OG
2018/04/02 DOTA
Python中实现switch功能实例解析
2018/01/11 Python
numpy中的高维数组转置实例
2018/04/17 Python
Python查找最长不包含重复字符的子字符串算法示例
2019/02/13 Python
windows下python虚拟环境virtualenv安装和使用详解
2019/07/16 Python
详解解决Python memory error的问题(四种解决方案)
2019/08/08 Python
用html5的canvas画布绘制贝塞尔曲线完整代码
2013/08/14 HTML / CSS
匡威英国官网:Converse英国
2018/12/02 全球购物
博士生入学考试推荐信
2013/11/17 职场文书
中学生团员自我评价分享
2013/12/07 职场文书
料理师求职信
2014/01/30 职场文书
市场部经理岗位职责
2014/04/10 职场文书
乡镇党委书记个人整改措施
2014/09/15 职场文书
2015年小学生新年寄语
2014/12/08 职场文书
2015年后勤工作总结范文
2015/04/08 职场文书
2019数学教师下学期工作总结
2019/06/27 职场文书
WINDOWS下安装mysql 8.x 的方法图文教程
2022/04/19 MySQL
利用Apache Common将java对象池化的问题
2022/06/16 Servers