在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 相关文章推荐
不一样的文字闪烁 轮番闪烁
Nov 11 Javascript
ExtJs扩展之GroupPropertyGrid代码
Mar 05 Javascript
javascript与CSS复习(三)
Jun 29 Javascript
用js来定义浏览器中一个左右浮动元素相对于页面主体宽度的位置的函数
Jan 21 Javascript
js浮动图片的动态效果
Jul 10 Javascript
jQuery学习笔记之jQuery.extend(),jQuery.fn.extend()分析
Jun 09 Javascript
jquery实现表格本地排序的方法
Mar 11 Javascript
JavaScript jquery及AJAX小结
Jan 24 Javascript
JavaScript中windows.open()、windows.close()方法详解
Jul 28 Javascript
JS中静态页面实现微信分享功能
Feb 06 Javascript
Angular实现双向折叠列表组件的示例代码
Nov 21 Javascript
jquery中attr、prop、data区别与用法分析
Sep 25 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中文汉字验证码
2007/04/08 PHP
PHP中for与foreach的区别分析
2011/03/09 PHP
PHP 多维数组的排序问题 根据二维数组中某个项排序
2011/11/09 PHP
谨慎使用PHP的引用原因分析
2012/09/06 PHP
php socket客户端及服务器端应用实例
2014/07/04 PHP
WordPress开发中的get_post_custom()函数使用解析
2016/01/04 PHP
WordPress中调试缩略图的相关PHP函数使用解析
2016/01/07 PHP
Laravel中log无法写入问题的解决
2017/06/17 PHP
thinkphp框架使用JWTtoken的方法详解
2019/10/10 PHP
PHP类的自动加载与命名空间用法实例分析
2020/06/05 PHP
开发跨浏览器javascript常见注意事项
2009/01/01 Javascript
js数组的操作详解
2013/03/27 Javascript
纯JavaScript实现的兼容各浏览器的添加和移除事件封装
2015/03/28 Javascript
javascript中html字符串转化为jquery dom对象的方法
2015/08/27 Javascript
微信小程序网络请求的封装与填坑之路
2017/04/01 Javascript
JavaScript门面模式详解
2017/10/19 Javascript
让网站自动生成章节目录索引的多个js代码
2018/01/07 Javascript
解决Layui数据表格的宽高问题
2019/09/28 Javascript
使用axios请求时,发送formData请求的示例
2019/10/29 Javascript
uni-app如何实现增量更新功能
2020/01/03 Javascript
Openlayers显示地理位置坐标的方法
2020/09/28 Javascript
[01:11:21]DOTA2-DPC中国联赛 正赛 VG vs Elephant BO3 第一场 3月6日
2021/03/11 DOTA
SVM基本概念及Python实现代码
2017/12/27 Python
python实现nao机器人身体躯干和腿部动作操作
2019/04/29 Python
python利用dlib获取人脸的68个landmark
2019/11/27 Python
python从ftp获取文件并下载到本地
2020/12/05 Python
道德之星事迹材料
2014/05/03 职场文书
银行柜员求职自荐书
2014/06/18 职场文书
依法行政工作汇报
2014/10/28 职场文书
违反工作规定检讨书范文
2014/12/14 职场文书
领导参观欢迎词
2015/01/26 职场文书
黄山导游词
2015/01/31 职场文书
考试没考好检讨书
2015/05/06 职场文书
乡镇司法所2015年度工作总结
2015/10/14 职场文书
Pytorch 如何实现LSTM时间序列预测
2021/05/17 Python
logback 实现给变量指定默认值
2021/08/30 Java/Android