在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 相关文章推荐
禁止F5等快捷键的JS代码
Mar 06 Javascript
jQuery+.net实现浏览更多内容(改编php版本)
Mar 28 Javascript
解决jquery操作checkbox火狐下第二次无法勾选问题
Feb 10 Javascript
jquery获取当前日期的方法
Jan 14 Javascript
黑帽seo劫持程序,js劫持搜索引擎代码
Sep 15 Javascript
基于jquery实现鼠标左右拖动滑块滑动附源码下载
Dec 23 Javascript
微信开发 消息推送实现代码
Oct 21 Javascript
three.js快速入门【推荐】
Jan 21 Javascript
angular6的table组件开发的实现示例
Dec 26 Javascript
jQuery实现动态添加和删除input框实例代码
Mar 26 jQuery
layer.open的自适应及居中及子页面标题的修改方法
Sep 05 Javascript
JS箭头函数和常规函数之间的区别实例分析【 5 个区别】
May 27 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 配置文件中open_basedir选项作用
2009/07/19 PHP
php使用Jpgraph创建3D饼形图效果示例
2017/02/15 PHP
Thinkphp 空操作、空控制器、命名空间(详解)
2017/05/05 PHP
再谈Yii Framework框架中的事件event原理与应用
2020/04/07 PHP
常用简易JavaScript函数
2009/04/09 Javascript
javascript中String类的subString()方法和slice()方法
2011/05/24 Javascript
jquery的ajaxSubmit()异步上传图片并保存表单数据演示代码
2013/06/04 Javascript
jQuery实现的左右移动焦点图效果
2016/01/14 Javascript
D3.js实现雷达图的方法详解
2016/09/22 Javascript
Angular中使用ui router实现系统权限控制及开发遇到问题
2016/09/23 Javascript
Vue.js Ajax动态参数与列表显示实现方法
2016/10/20 Javascript
H5移动端适配 Flexible方案
2016/10/24 Javascript
详解jQuery lazyload 懒加载
2016/12/19 Javascript
原生Aajax 和jQuery Ajax 写法个人总结
2017/03/24 jQuery
基于js文件加载优化(详解)
2018/01/03 Javascript
微信小程序实现自定义picker选择器弹窗内容
2020/05/26 Javascript
Vue.set 全局操作简单示例
2019/09/19 Javascript
[47:10]完美世界DOTA2联赛PWL S3 LBZS vs Rebirth 第二场 12.16
2020/12/18 DOTA
Python3使用requests发闪存的方法
2016/05/11 Python
python爬虫入门教程--快速理解HTTP协议(一)
2017/05/25 Python
python之PyMongo使用总结
2017/05/26 Python
Python将多个list合并为1个list的方法
2018/06/27 Python
Python json模块dumps、loads操作示例
2018/09/06 Python
解决Shell执行python文件,传参空格引起的问题
2018/10/30 Python
让你Python到很爽的加速递归函数的装饰器
2019/05/26 Python
Nisbets法国:英国最大的厨房和餐饮设备供应商
2019/03/18 全球购物
保安自我鉴定范文
2013/12/08 职场文书
实习工作表现评语
2014/12/31 职场文书
通讯稿范文
2015/07/22 职场文书
离职告别感言
2015/08/04 职场文书
女方家长婚礼答谢词
2015/09/29 职场文书
幼儿园托班开学寄语(2016春季)
2015/12/03 职场文书
2019年最新版见习人员管理制度!
2019/07/08 职场文书
详解vue身份认证管理和租户管理
2021/05/25 Vue.js
MySQL系列之一 MariaDB-server安装
2021/07/02 MySQL
Python爬虫中urllib3与urllib的区别是什么
2021/07/21 Python