在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 相关文章推荐
php gethostbyname获取域名ip地址函数详解
Jan 24 Javascript
JS分割字符串并放入数组的函数
Jul 04 Javascript
javascript按位非运算符的使用方法
Nov 14 Javascript
JavaScript bold方法入门实例(把指定文字显示为粗体)
Oct 17 Javascript
Bootstrap基本组件学习笔记之分页(12)
Dec 08 Javascript
实例解析angularjs的filter过滤器
Dec 14 Javascript
Vue $emit $refs子父组件间方法的调用实例
Sep 12 Javascript
Vant的安装和配合引入Vue.js项目里的方法步骤
Dec 05 Javascript
Vue实现商品分类菜单数量提示功能
Jul 26 Javascript
vue 中的 render 函数作用详解
Feb 28 Javascript
Vue解决echart在element的tab切换时显示不正确问题
Aug 03 Javascript
ant-design-vue中的select选择器,对输入值的进行筛选操作
Oct 24 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
php堆排序(heapsort)练习
2013/11/13 PHP
smarty模板中拼接字符串的方法
2014/02/14 PHP
基于jQuery图片平滑连续滚动插件
2009/04/27 Javascript
解析jquery获取父窗口的元素
2013/06/26 Javascript
关闭页面window.location事件未执行的原因及解决方法
2014/09/01 Javascript
js实现的四级左侧网站分类菜单实例
2015/05/06 Javascript
AngularJs Injecting Services Into Controllers详解
2016/09/02 Javascript
React实现双向绑定示例代码
2016/09/19 Javascript
Javascript中关于Array.filter()的妙用详解
2016/12/04 Javascript
jQuery实现的无缝广告图片左右滚动功能详解
2016/12/24 Javascript
[原创]SyntaxHighlighter自动识别并加载脚本语言
2017/02/07 Javascript
vue组件间通信解析
2017/03/01 Javascript
Bootstrap按钮组简单实现代码
2017/03/06 Javascript
详解nodejs中的process进程
2017/03/19 NodeJs
详解vue.js全局组件和局部组件
2017/04/10 Javascript
微信小程序利用canvas 绘制幸运大转盘功能
2018/07/06 Javascript
vue js秒转天数小时分钟秒的实例代码
2018/08/08 Javascript
详解JavaScript事件循环机制
2018/09/07 Javascript
在vue中v-bind使用三目运算符绑定class的实例
2018/09/29 Javascript
详解vuex之store拆分即多模块状态管理(modules)篇
2018/11/13 Javascript
jquery实现垂直无限轮播的方法分析
2019/07/16 jQuery
Javascript 对象(object)合并操作实例分析
2019/07/30 Javascript
[01:13:46]iG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python使用pymysql实现操作mysql
2016/09/13 Python
基于scrapy的redis安装和配置方法
2018/06/13 Python
Django异步任务之Celery的基本使用
2019/03/23 Python
python生成requirements.txt的两种方法
2019/09/18 Python
python统计指定目录内文件的代码行数
2019/09/19 Python
python 发送json数据操作实例分析
2019/10/15 Python
详解python中eval函数的作用
2019/10/22 Python
P D PAOLA意大利官网:西班牙著名的珠宝首饰品牌
2019/09/24 全球购物
大学应届生的自我评价
2014/03/06 职场文书
对标管理实施方案
2014/03/12 职场文书
法人委托书范本
2014/09/15 职场文书
golang 定时任务方面time.Sleep和time.Tick的优劣对比分析
2021/05/05 Golang
详解Java线程池是如何重复利用空闲线程的
2021/06/26 Java/Android