在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 this指针
Jul 30 Javascript
JavaScript中通过闭包解决只能取得包含函数中任何变量最后一个值的问题
Aug 12 Javascript
jQuery判断checkbox(复选框)是否被选中以及全选、反选实现代码
Feb 21 Javascript
javascript引用类型指针的工作方式
Apr 13 Javascript
Jquery 1.9.1源码分析系列(十二)之筛选操作
Dec 02 Javascript
基于bootstrap-datetimepicker.js不支持IE8的快速解决方法
Nov 07 Javascript
jQuery Ajax File Upload实例源码
Dec 12 Javascript
Node.js操作redis实现添加查询功能
May 25 Javascript
vue-router2.0 组件之间传参及获取动态参数的方法
Nov 10 Javascript
webpack配置导致字体图标无法显示的解决方法
Mar 06 Javascript
浅谈Vue.js中如何实现自定义下拉菜单指令
Jan 06 Javascript
js判断在哪个浏览器打开项目的方法
Jan 21 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
zf框架db类的分页示例分享
2014/03/14 PHP
php返回相对时间(如:20分钟前,3天前)的方法
2015/04/14 PHP
Laravel框架使用技巧之使用url()全局函数返回前一个页面的地址方法详解
2020/04/06 PHP
PHP Ajax跨域问题解决方案代码实例
2020/08/01 PHP
javascript loadScript异步加载脚本示例讲解
2013/11/14 Javascript
jquery序列化form表单使用ajax提交后处理返回的json数据
2014/03/03 Javascript
jquery选择符快速提取web表单数据示例
2014/03/27 Javascript
js代码实现无缝滚动(文字和图片)
2015/08/20 Javascript
轻松实现js图片预览功能
2016/01/18 Javascript
React-router 4 按需加载的实现方式及原理详解
2017/05/25 Javascript
angular动态删除ng-repaeat添加的dom节点的方法
2017/07/20 Javascript
vue+webpack实现异步加载三种用法示例详解
2018/04/24 Javascript
老生常谈JavaScript获取CSS样式的方法(兼容各浏览器)
2018/09/19 Javascript
30分钟用Node.js构建一个API服务器的步骤详解
2019/05/24 Javascript
Python中MYSQLdb出现乱码的解决方法
2014/10/11 Python
Python入门教程之运算符与控制流
2016/08/17 Python
Python网络编程 Python套接字编程
2017/09/13 Python
python中import reload __import__的区别详解
2017/10/16 Python
Python 使用with上下文实现计时功能
2018/03/09 Python
Django利用cookie保存用户登录信息的简单实现方法
2019/05/27 Python
python日期相关操作实例小结
2019/06/24 Python
详解程序意外中断自动重启shell脚本(以Python为例)
2019/07/26 Python
Python测试Kafka集群(pykafka)实例
2019/12/23 Python
解析PyCharm Python运行权限问题
2020/01/08 Python
Python 中如何写注释
2020/08/28 Python
JAKO-O德国野酷台湾站:德国首屈一指的婴幼童用品品牌
2019/01/14 全球购物
什么是smarty? Smarty的优点是什么?
2013/08/11 面试题
Linux Interview Questions For software testers
2013/05/17 面试题
测绘工程本科生求职信
2013/10/10 职场文书
运动会通讯稿50字
2014/01/30 职场文书
欢送退休感言
2014/02/08 职场文书
中介业务员岗位职责
2014/04/09 职场文书
五好文明家庭事迹材料
2014/12/20 职场文书
MySQL为id选择合适的数据类型
2021/06/07 MySQL
「玫瑰之王的葬礼」舞台剧主视觉图公开
2022/03/21 日漫
Android 界面一键变灰 深色主题工具类
2022/04/28 Java/Android