在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 相关文章推荐
让iframe框架网页在任何浏览器下自动伸缩
Aug 18 Javascript
基于jQuery中对数组进行操作的方法
Apr 16 Javascript
javascript自动改变文字大小和颜色的效果的小例子
Aug 02 Javascript
jquery全选checkBox功能实现代码(取消全选功能)
Dec 10 Javascript
js判断字符长度以及中英文数字等
Dec 31 Javascript
什么是 AngularJS?AngularJS简介
Dec 06 Javascript
理解和运用JavaScript的闭包机制
Aug 13 Javascript
HTML5之WebSocket入门3 -通信模型socket.io
Aug 21 Javascript
JS中对象与字符串的互相转换详解
May 20 Javascript
react实现一个优雅的图片占位模块组件详解
Oct 30 Javascript
浅谈如何通过node.js对数据进行MD5加密
May 16 Javascript
jQuery基于随机数解决中午吃什么去哪吃问题示例
Dec 29 jQuery
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
PHP中文分词 自动获取关键词介绍
2012/11/13 PHP
php中simplexml_load_file函数用法实例
2014/11/12 PHP
PHP生成短网址方法汇总
2016/07/12 PHP
Laravel 实现密码重置功能
2018/02/23 PHP
PHP实现微信退款的方法示例
2019/03/26 PHP
PHP+MySQL实现在线测试答题实例
2020/01/02 PHP
jQuery实用基础超详细介绍
2013/04/11 Javascript
jQuery阻止事件冒泡具体实现
2013/10/11 Javascript
js创建元素(节点)示例
2014/01/02 Javascript
js实现touch移动触屏滑动事件
2015/04/17 Javascript
javascript实现简单的页面右下角提示信息框
2015/07/31 Javascript
JS实现随页面滚动显示/隐藏窗口固定位置元素
2016/02/26 Javascript
JavaScript中的原型prototype完全解析
2016/05/10 Javascript
使用jquery提交form表单并自定义action的实现代码
2016/05/25 Javascript
微信小程序 底部导航栏目开发资料
2016/12/05 Javascript
swiper自定义分页器使用方法详解
2020/09/14 Javascript
js实现通过开始结束控制的计时器
2019/02/25 Javascript
Layui数据表格判断编辑输入的值,是否为我需要的类型详解
2019/10/26 Javascript
python执行等待程序直到第二天零点的方法
2015/04/23 Python
Python的Scrapy爬虫框架简单学习笔记
2016/01/20 Python
Python编程之黑板上排列组合,你舍得解开吗
2017/10/30 Python
python安装numpy&amp;安装matplotlib&amp; scipy的教程
2017/11/02 Python
pandas 数据实现行间计算的方法
2018/06/08 Python
Python判断对象是否相等及eq函数的讲解
2019/02/25 Python
在django模板中实现超链接配置
2019/08/21 Python
Django2 连接MySQL及model测试实例分析
2019/12/10 Python
如何利用python发送邮件
2020/09/26 Python
Python3.7安装PyQt5 运行配置Pycharm的详细教程
2020/10/15 Python
详解HTML5中表单验证的8种方法介绍
2016/12/19 HTML / CSS
New Balance天猫官方旗舰店:始于1906年,百年慢跑品牌
2017/11/15 全球购物
自动化专业个人求职信范文
2013/11/29 职场文书
后勤主管工作职责
2013/12/07 职场文书
工程造价专业大学生职业规划范文
2014/03/09 职场文书
养牛场项目建议书
2014/05/13 职场文书
晚会开场白和结束语
2015/05/29 职场文书
党支部培养考察意见
2015/06/02 职场文书