在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 原型与继承说明
Jun 09 Javascript
Javascript 多物体运动的实现
Dec 24 Javascript
AngularJS iframe跨域打开内容时报错误的解决办法
Jan 26 Javascript
javascript中call和apply的用法示例分析
Apr 02 Javascript
浅谈javascript中call()、apply()、bind()的用法
Apr 20 Javascript
原生JS实现匀速图片轮播动画
Oct 18 Javascript
教你用十行node.js代码读取docx的文本
Mar 08 Javascript
Express之get,pos请求参数的获取
May 02 Javascript
vuex操作state对象的实例代码
Apr 25 Javascript
layui实现根据table数据判断按钮显示情况的方法
Sep 26 Javascript
vue实现表单未编辑或未保存离开弹窗提示功能
Apr 08 Javascript
Vue实现手机计算器
Aug 17 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
水质对咖图啡风味的影响具体有哪些
2021/03/03 冲泡冲煮
php实现执行某一操作时弹出确认、取消对话框
2013/12/30 PHP
php5.2以下版本无json_decode函数的解决方法
2014/05/25 PHP
php判断对象是派生自哪个类的方法
2015/06/20 PHP
Zend Framework开发入门经典教程
2016/03/23 PHP
js获取单选按钮的数据
2006/11/27 Javascript
点击下载链接 弹出页面实现代码
2009/10/01 Javascript
JavaScript判断变量是否为undefined的两种写法区别
2013/12/04 Javascript
Node.js和MongoDB实现简单日志分析系统
2015/04/25 Javascript
jquery实现华丽的可折角广告代码
2015/09/02 Javascript
谈谈encodeURI和encodeURIComponent以及escape的区别与应用
2015/11/24 Javascript
JS生成不重复的随机数组的简单实例
2016/07/10 Javascript
JS 在数组指定位置插入/删除数据的方法
2017/01/12 Javascript
jQuery手风琴的简单制作
2017/05/12 jQuery
原生JS实现不断变化的标签
2017/05/22 Javascript
vue实现单选和多选功能
2017/08/11 Javascript
详解react-native-fs插件的使用以及遇到的坑
2017/09/12 Javascript
express如何使用session与cookie的方法
2018/01/30 Javascript
解决vue-cli webpack打包后加载资源的路径问题
2018/09/25 Javascript
微信小程序非swiper组件实现的自定义伪3D轮播图效果示例
2018/12/11 Javascript
Vue仿微信app页面跳转动画效果
2019/08/21 Javascript
layui form表单提交之后重新加载数据表格的方法
2019/09/11 Javascript
[03:56]DOTA2完美大师赛趣味视频之小鸽子和Mineski打台球
2017/11/24 DOTA
python根据京东商品url获取产品价格
2015/08/09 Python
python输入中文的实例方法
2020/09/14 Python
利用Node实现HTML5离线存储的方法
2020/10/16 HTML / CSS
全球知名旅游社区法国站点:TripAdvisor法国
2016/08/03 全球购物
欧洲领先的火车票和大巴票预订平台:Trainline
2018/12/26 全球购物
电信专业应届生自荐信
2013/09/28 职场文书
公司员工的自我评价范例
2013/11/01 职场文书
办公室副主任岗位职责
2013/11/25 职场文书
工厂总经理岗位职责
2014/02/07 职场文书
奉献演讲稿范文
2014/05/21 职场文书
组织生活会发言材料
2014/12/15 职场文书
幼儿园六一主持词开场白
2015/05/28 职场文书
Python类方法总结讲解
2021/07/26 Python