在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小游戏实现代码
Aug 19 Javascript
Jquery 改变radio/checkbox选中状态,获取选中的值(示例代码)
Dec 12 Javascript
JavaScript的strict模式与with关键字介绍
Feb 08 Javascript
json实现前后台的相互传值详解
Jan 05 Javascript
纯js实现仿QQ邮箱弹出确认框
Apr 29 Javascript
BootStrap Table 获取同行不同列元素的方法
Dec 19 Javascript
vue2 中如何实现动态表单增删改查实例
Jun 09 Javascript
JavaScript内存泄漏的处理方式
Nov 20 Javascript
详解@Vue/Cli 3 Invalid Host header 错误解决办法
Jan 02 Javascript
javascript json字符串到json对象转义问题
Jan 22 Javascript
uni-app 支持多端第三方地图定位的方法
Jan 03 Javascript
js实现页面导航层级指示效果
Aug 25 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安装攻略:常见问题解答(二)
2006/10/09 PHP
防止用户利用PHP代码DOS造成用光网络带宽
2011/03/01 PHP
php顺序查找和二分查找示例
2014/03/27 PHP
PHP中的数组处理函数实例总结
2016/01/09 PHP
jQuery+php简单实现全选删除的方法
2016/11/28 PHP
javascript 写类方式之八
2009/07/05 Javascript
JS 退出系统并跳转到登录界面的实现代码
2013/06/29 Javascript
公共js在页面底部加载的注意事项介绍
2013/07/18 Javascript
jQuery获取页面元素绝对与相对位置的方法
2015/06/10 Javascript
AngularJS+Node.js实现在线聊天室
2015/08/28 Javascript
RequireJS入门一之实现第一个例子
2015/09/30 Javascript
bootstrap-treeview自定义双击事件实现方法
2016/01/09 Javascript
JavaScript实现获取用户单击body中所有A标签内容的方法
2017/06/05 Javascript
Three.js实现绘制字体模型示例代码
2017/09/26 Javascript
详解自定义ajax支持跨域组件封装
2018/02/08 Javascript
vue-cli 组件的导入与使用教程详解
2018/04/11 Javascript
微信小程序实现折线图的示例代码
2019/06/07 Javascript
教你如何用Node实现API的转发(某音乐)
2019/09/20 Javascript
Vue通过getAction的finally来最大程度避免影响主数据呈现问题
2020/04/24 Javascript
Python基于回溯法子集树模板解决m着色问题示例
2017/09/07 Python
python爬取盘搜的有效链接实现代码
2019/07/20 Python
python GUI库图形界面开发之PyQt5简单绘图板实例与代码分析
2020/03/08 Python
Python IDLE或shell中切换路径的操作
2020/03/09 Python
TensorFlow2.X结合OpenCV 实现手势识别功能
2020/04/08 Python
LN-CC日本:高端男装和女装的奢侈时尚目的地
2019/09/01 全球购物
保加利亚服装和鞋类购物网站:Bibloo.bg
2020/11/08 全球购物
母亲七十大寿答谢词
2014/01/18 职场文书
《鹬蚌相争》教学反思
2014/04/22 职场文书
文明班级建设方案
2014/05/15 职场文书
民事诉讼代理委托书
2014/10/08 职场文书
2014年社区卫生工作总结
2014/12/18 职场文书
三八红旗手事迹材料
2014/12/26 职场文书
让子弹飞观后感
2015/06/11 职场文书
2016年“世界气象日”广播稿
2015/12/17 职场文书
收音机爱好者玩机13年,简评其使用过的19台收音机
2022/04/30 无线电
Django数据库(SQlite)基本入门使用教程
2022/07/07 Python