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 相关文章推荐
动态改变textbox的宽高的js
Oct 26 Javascript
JavaScript与C# Windows应用程序交互方法
Jun 29 Javascript
JS 获取select(多选下拉)中所选值的示例代码
Aug 02 Javascript
单击和双击事件的冲突处理示例代码
Apr 03 Javascript
使用Jquery获取带特殊符号的ID 标签的方法
Apr 30 Javascript
Javascript使用SWFUpload进行多文件上传
Nov 16 Javascript
Vue-cli Eslint在vscode里代码自动格式化的方法
Feb 23 Javascript
vue devtools的安装与使用教程
Aug 08 Javascript
详解一个基于react+webpack的多页面应用配置
Jan 21 Javascript
js使用cookie实现记住用户名功能示例
Jun 13 Javascript
JavaScript继承的三种方法实例
May 12 Javascript
javascript条件式访问属性和箭头函数介绍
Nov 17 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
php5.5中类级别的常量使用介绍
2013/10/02 PHP
linux系统下php安装mbstring扩展的二种方法
2014/01/20 PHP
回帖脱衣服的图片实现代码
2014/02/15 PHP
Zend Guard使用指南及问题处理
2015/01/07 PHP
php使用Cookie实现和用户会话的方法
2015/01/21 PHP
给WordPress的编辑后台添加提示框的代码实例分享
2015/12/25 PHP
ThinkPHP框架安全实现分析
2016/03/14 PHP
Yii2 RESTful中api的使用及开发实例详解
2016/07/06 PHP
YII视图整合kindeditor扩展的方法
2016/07/13 PHP
phpmyadmin在宝塔面板里进不去的解决方案
2020/07/06 PHP
用jQuery实现检测浏览器及版本的脚本代码
2008/01/22 Javascript
Prototype ObjectRange对象学习
2009/07/19 Javascript
js实现网页标题栏闪烁提示效果实例分析
2014/11/20 Javascript
JavaScript将XML转成JSON的方法
2015/03/12 Javascript
JavaScript使用pop方法移除数组最后一个元素用法实例
2015/04/06 Javascript
jquery使用Cookie和JSON记录用户最近浏览历史
2016/04/19 Javascript
使用npm安装最新版本nodejs
2018/01/18 NodeJs
jQuery与vue实现拖动验证码功能
2018/01/30 jQuery
Angular2进阶之如何避免Dom误区
2018/04/02 Javascript
JavaScript多态与封装实例分析
2018/07/27 Javascript
vue-cli项目配置多环境的详细操作过程
2018/10/30 Javascript
微信小程序出现wx.getLocation再次授权问题的解决方法分析
2019/01/16 Javascript
Python脚本实现格式化css文件
2015/04/08 Python
在Windows中设置Python环境变量的实例讲解
2018/04/28 Python
Python定义函数时参数有默认值问题解决
2019/12/19 Python
Python pyautogui模块实现鼠标键盘自动化方法详解
2020/02/17 Python
CSS3实现文本垂直排列的方法
2018/07/10 HTML / CSS
游戏商店:Eneba
2020/04/25 全球购物
物理力学求职信
2014/02/18 职场文书
学党史心得体会
2014/09/05 职场文书
结婚保证书(三从四德)
2015/02/26 职场文书
学校会议通知范文
2015/04/15 职场文书
大学迎新生欢迎词
2015/09/29 职场文书
优秀学生干部主要事迹材料
2015/11/04 职场文书
Nest.js参数校验和自定义返回数据格式详解
2021/03/29 Javascript
深入浅出讲解Java8函数式编程
2022/01/18 Java/Android