Vue中使用Echarts仪表盘展示实时数据的实现


Posted in Javascript onNovember 01, 2020

在vue中echarts仪表盘实时数据
彩笔一枚,简单记录一下。
业务场景:通过websocket实时推送数据,将数据渲染到仪表盘中。

第一步:
基于准备好的dom,初始化echarts仪表盘实例。

第二步:
我是通过父子组件传值把数据接收过来,在data中定义upPressure参数,并将接收来的devicePressure参数赋值给它,便于后面将值传入到echarts中

父组件中
 <div class="chart" shadow="always">
  <objEcharts :devicePressure="pressure"></objEcharts>
 </div>

子组件中
export default {
 props: {
  devicePressure: { type: String, require: true },
 },
 data() {
  return {
   upPressure: this.devicePressure,
  };
 },

第三步:
因为是实时数据,就需要在watch中监听数据变化,实时更新。
注:这里我只监听一个参数变化,没有使用deep: true。

watch: {
 	//监听devicePressure的数据变化。
  devicePressure(newData, oldData) {
  //把更新后的数据newData,赋值给需要传入echarts中的参数。
   this.upPressure = newData;
  //一定要调用echarts实例,要不然echarts不实时展示。
   this.drawLine();
  },
 },

第四步:
数据处理完之后,就要把它展示到仪表盘中了,所以直接找到echarts中需要数据的地方就好了。
介于仪表盘样式,可结合官方文档自定义。

export default {
 props: {
  devicePressure: { type: String, require: true },
 },
 data() {
  return {
   upPressure: this.devicePressure,
  };
 },
 mounted() {
  this.drawLine();
 },
 watch: {
  	devicePressure(newData, oldData) {
   this.upPressure = newData;
   this.drawLine();
  },
 },
methods: {
  drawLine() {
   // 基于准备好的dom,初始化echarts实例
   let visualOneChart = this.$echarts.init(document.getElementById("visualOneChart"));
   // 绘制图表
   visualOneChart.setOption({
    tooltip: {
     formatter: "{a} <br/>{b} : {c}Pa",
    },
    series: [
     {
      name: "压力值",
      type: "gauge",
      clockwise: true,
      detail: {
       formatter: this.upPressure,
       textStyle: {
        fontSize: 14,
       },
      },
      data: [{ value: this.upPressure, name: "压力值" }],
      radius: "90%",
      axisLabel: {// 刻度标签。
       show: true,
       distance: -5,
       color: "black", 
       fontSize: 10, 
       formatter: "{value}", 
      },
      axisLine: {// 仪表盘轴线(轮廓线)相关配置。
       show: true, 
       lineStyle: {// 仪表盘轴线样式。
        opacity: 1, 
        width: 15, 
        shadowBlur: 10, 
       },
      },
      pointer: { // 仪表盘指针。
       show: true,
       length: "70%", 
       width: 4, 
      },
     },
    ],
   });
  },
 },
}

Vue中使用Echarts仪表盘展示实时数据的实现

到此这篇关于Vue中使用Echarts仪表盘展示实时数据的实现的文章就介绍到这了,更多相关Vue Echarts仪表盘 内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
JavaScript 事件参考手册
Dec 24 Javascript
Mootools 1.2教程 函数
Sep 15 Javascript
jQuery 插件仿百度搜索框智能提示(带Value值)
Jan 22 Javascript
关于事件mouseover ,mouseout ,mouseenter,mouseleave的区别
Oct 12 Javascript
Position属性之relative用法
Dec 14 Javascript
javascript的几种写法总结
Sep 30 Javascript
基于Node的React图片上传组件实现实例代码
May 10 Javascript
JavaScript实现京东购物放大镜和选项卡效果的方法分析
Jul 05 Javascript
js实现黑白div块画空心的图形
Dec 13 Javascript
Vue 递归多级菜单的实例代码
May 05 Javascript
原生js实现分页效果
Sep 23 Javascript
Handtrack.js库实现实时监测手部运动(推荐)
Feb 08 Javascript
JavaScript实现刮刮乐效果
Nov 01 #Javascript
微信小程序实现单个或多个倒计时功能
Nov 01 #Javascript
微信小程序实现页面监听自定义组件的触发事件
Nov 01 #Javascript
uniapp微信小程序实现一个页面多个倒计时
Nov 01 #Javascript
uni-app使用countdown插件实现倒计时
Nov 01 #Javascript
uni-app实现获取验证码倒计时功能
Nov 01 #Javascript
uniapp电商小程序实现订单30分钟倒计时
Nov 01 #Javascript
You might like
PHP XML备份Mysql数据库
2009/05/27 PHP
PHP使用json_encode函数时不转义中文的解决方法
2014/11/12 PHP
php遍历替换目录下文件指定内容的方法
2016/11/10 PHP
学习YUI.Ext 第六天--关于树TreePanel(Part 1)
2007/03/10 Javascript
5个书写JavaScript代码的坏习惯,看看你中枪了没?
2014/11/06 Javascript
JavaScript学习笔记之DOM基础 2.4
2015/08/14 Javascript
Bootstrap每天必学之导航
2015/11/26 Javascript
js选择器全面解析
2016/06/27 Javascript
Jquery UI实现一次拖拽多个选中的元素操作
2020/12/01 Javascript
基于jQuery实现Tabs选项卡自定义插件
2016/11/21 Javascript
nodejs中全局变量的实例解析
2017/03/07 NodeJs
xmlplus组件设计系列之选项卡(Tabbar)(5)
2017/05/03 Javascript
基于Vue实现后台系统权限控制的示例代码
2017/08/29 Javascript
详解angular如何调用HTML字符串的方法
2018/06/30 Javascript
图片文字识别(OCR)插件Ocrad.js教程
2018/11/26 Javascript
webgl实现物体描边效果的方法介绍
2019/11/27 Javascript
js代码实现轮播图
2020/05/04 Javascript
Vue通过Blob对象实现导出Excel功能示例代码
2020/07/31 Javascript
python操作MongoDB基础知识
2013/11/01 Python
python线程池threadpool实现篇
2018/04/27 Python
Python学习笔记之lambda表达式用法详解
2019/08/08 Python
wxPython之wx.DC绘制形状
2019/11/19 Python
关于Numpy数据类型对象(dtype)使用详解
2019/11/27 Python
css3 transform导致子元素固定定位变成绝对定位的方法
2020/03/06 HTML / CSS
JavaScript实现页面动态验证码的实现示例
2021/03/23 Javascript
大学生毕业鉴定
2014/01/31 职场文书
《彩色世界》教学反思
2014/04/12 职场文书
图书馆标语
2014/06/19 职场文书
中文专业求职信
2014/06/20 职场文书
学校感恩教育活动总结
2014/07/07 职场文书
行政专员岗位职责说明书
2014/09/01 职场文书
办公室文员工作自我鉴定
2014/09/19 职场文书
2015年出纳年终工作总结
2015/05/14 职场文书
2016年寒假学习心得体会
2015/10/09 职场文书
彻底理解golang中什么是nil
2021/04/29 Golang
《最终幻想14》6.01版本4月5日推出 追加新任务新道具
2022/04/03 其他游戏