在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 相关文章推荐
DLL+ ActiveX控件+WEB页面调用例子
Aug 07 Javascript
ajax 同步请求和异步请求的差异分析
Jul 04 Javascript
目前流行的JavaScript库的介绍及对比
Sep 29 Javascript
jQuery模拟点击A标记示例参考
Apr 17 Javascript
JavaScript获取浏览器信息的方法
Nov 20 Javascript
JavaScript自学笔记(必看篇)
Jun 23 Javascript
JS实现的表头列头固定页面功能示例
Jan 10 Javascript
Angular.JS利用ng-disabled属性和ng-model实现禁用button效果
Apr 05 Javascript
javascript算法之二叉搜索树的示例代码
Sep 12 Javascript
浅析Proxy可以优化vue的数据监听机制问题及实现思路
Nov 29 Javascript
深入学习Vue nextTick的用法及原理
Oct 08 Javascript
Vue基础配置讲解
Nov 29 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
thinkPHP实现的省市区三级联动功能示例
2017/05/05 PHP
php+redis实现商城秒杀功能
2020/11/19 PHP
Linux基于php-fpm模式的lamp搭建phpmyadmin的方法
2018/10/25 PHP
php实现根据身份证获取精准年龄
2020/02/26 PHP
php回调函数处理数组操作示例
2020/04/13 PHP
js防止表单重复提交的两种方法
2013/09/30 Javascript
javascript实现的元素拖动函数宿主为浏览器
2014/07/21 Javascript
js的touch事件的实际引用
2014/10/13 Javascript
JavaScript开发人员的10个关键习惯小结
2014/12/05 Javascript
javascript从作用域链谈闭包
2020/07/29 Javascript
AngularJS入门教程之Scope(作用域)
2016/07/27 Javascript
详解基于javascript实现的苹果系统底部菜单
2016/12/02 Javascript
详解Angular路由 ng-route和ui-router的区别
2017/05/22 Javascript
Vue单文件组件基础模板小结
2017/08/10 Javascript
Vue的事件响应式进度条组件实例详解
2018/02/04 Javascript
浅谈使用mpvue开发小程序需要注意和了解的知识点
2018/05/23 Javascript
Vue iview-admin框架二级菜单改为三级菜单的方法
2018/07/03 Javascript
nodeJS进程管理器pm2的使用
2019/01/09 NodeJs
Vue项目安装插件并保存
2019/01/28 Javascript
《javascript设计模式》学习笔记三:Javascript面向对象程序设计单例模式原理与实现方法分析
2020/04/07 Javascript
VSCode搭建Vue项目的方法
2020/04/30 Javascript
[01:59]DOTA2首部纪录片《Free to play》预告片
2014/03/12 DOTA
python自定义解析简单xml格式文件的方法
2015/05/11 Python
python中使用序列的方法
2015/08/03 Python
解决python3在anaconda下安装caffe失败的问题
2017/06/15 Python
pytorch中如何使用DataLoader对数据集进行批处理的方法
2019/08/06 Python
Python读取分割压缩TXT文本文件实例
2020/02/14 Python
Python内置异常类型全面汇总
2020/05/28 Python
老板电器官方购物商城:老板油烟机、燃气灶、消毒柜、电烤箱
2018/05/30 全球购物
Molton Brown美国官网:奢华美容、香水、沐浴和身体护理
2020/09/02 全球购物
财务管理专业自荐信范文
2013/12/24 职场文书
祖国在我心中演讲稿400字
2014/05/04 职场文书
2014年十一国庆节爱国演讲稿
2014/09/23 职场文书
2015年会计个人工作总结
2015/04/02 职场文书
聊聊pytorch测试的时候为何要加上model.eval()
2021/05/23 Python
mysql下的max_allowed_packet参数设置详解
2022/02/12 MySQL