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 相关文章推荐
学习YUI.Ext基础第一天
Mar 10 Javascript
JS 自动安装exe程序
Nov 30 Javascript
jQuery中attr()和prop()在修改checked属性时的区别
Jul 18 Javascript
JavaScript设置获取和设置属性的方法
Mar 04 Javascript
浅谈Javascript数组索引
Jul 29 Javascript
jquery实现实时改变网页字体大小、字体背景色和颜色的方法
Aug 05 Javascript
javascript表单处理具体实现代码(表单、链接、按钮)
May 07 Javascript
jquery 判断div show的状态实例
Dec 03 Javascript
React-router中结合webpack实现按需加载实例
May 25 Javascript
关于vuejs中v-if和v-show的区别及v-show不起作用问题
Mar 26 Javascript
浅谈Vue.set实际上是什么
Oct 17 Javascript
vue.js循环radio的实例
Nov 07 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中heredoc的使用方法
2013/06/17 PHP
php5.3提示Function ereg() is deprecated Error问题解决方法
2014/11/12 PHP
10个超级有用值得收藏的PHP代码片段
2015/01/22 PHP
PHP缩略图生成和图片水印制作
2017/01/07 PHP
php实现留言板功能(代码详解)
2017/03/28 PHP
redis+php实现微博(一)注册与登录功能详解
2019/09/23 PHP
iframe异步加载实现点击左边菜单加载右边内容实例讲解
2013/03/04 Javascript
js获得鼠标的坐标值的方法
2013/03/13 Javascript
javascript实现瀑布流加载图片原理
2016/02/02 Javascript
全面了解JS中的匿名函数
2016/06/29 Javascript
漂亮实用的页面loading(加载)封装代码
2017/02/03 Javascript
微信小程序 request接口的封装实例代码
2017/04/26 Javascript
Angular.JS中的this指向详解
2017/05/17 Javascript
使用ionic(选项卡栏tab) icon(图标) ionic上拉菜单(ActionSheet) 实现通讯录界面切换实例代码
2017/10/20 Javascript
详解mpvue开发小程序小总结
2018/07/25 Javascript
vue自定义表单生成器form-create使用详解
2019/07/19 Javascript
微信小程序实现上传图片裁剪图片过程解析
2019/08/22 Javascript
jQuery实现简单三级联动效果
2020/09/05 jQuery
[46:23]OG vs EG 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
python 转换 Javascript %u 字符串为python unicode的代码
2016/09/06 Python
Python字符串中删除特定字符的方法
2020/01/15 Python
浅谈Python 参数与变量
2020/06/20 Python
HTML5 视频播放(video),JavaScript控制视频的实例代码
2018/10/08 HTML / CSS
艺术家策划的室内设计:Curious Egg
2019/03/06 全球购物
英国奢侈品在线精品店:Hervia
2020/09/03 全球购物
《黄河颂》教学反思
2014/02/07 职场文书
军校大学生个人的自我评价
2014/02/17 职场文书
学生自我评语大全
2014/04/18 职场文书
大学生个人先进事迹材料范文
2014/05/03 职场文书
小学生国庆节演讲稿
2014/09/05 职场文书
公司授权委托书范文
2014/09/21 职场文书
战略性融资合作协议书范本
2014/10/17 职场文书
公务员年度考核登记表个人总结
2015/02/12 职场文书
未婚证明范本
2015/06/15 职场文书
2015年高三教学工作总结
2015/07/21 职场文书
python爬不同图片分别保存在不同文件夹中的实现
2021/04/02 Python