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 相关文章推荐
js调用后台servlet方法实例
Jun 09 Javascript
图片动画横条广告带上下滚动的JS代码
Oct 25 Javascript
js监听鼠标事件控制textarea输入字符串的个数
Sep 29 Javascript
JS实现网页Div层Clone拖拽效果
Sep 26 Javascript
javascript从定义到执行 你不知道的那些事
Jan 04 Javascript
AngularJs学习第五篇从Controller控制器谈谈$scope作用域
Jun 08 Javascript
jquery动态创建div与input的实例代码
Oct 12 Javascript
详解Vue-Cli 异步加载数据的一些注意点
Aug 12 Javascript
使用typescript开发angular模块并发布npm包
Apr 19 Javascript
JavaScript根据json生成html表格的示例代码
Oct 24 Javascript
Node在Controller层进行数据校验的过程详解
Aug 28 Javascript
如何使用CocosCreator对象池
Apr 14 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
探讨:如何通过stats命令分析Memcached的内部状态
2013/06/14 PHP
ThinkPHP设置禁止百度等搜索引擎转码(简单实用)
2016/02/15 PHP
DEFER怎么用?
2006/07/01 Javascript
javascript iframe中打开文件,并检测iframe存在否
2008/12/28 Javascript
javascript写的一个链表实现代码
2009/10/25 Javascript
最常用的12种设计模式小结
2011/08/09 Javascript
js之onload事件的一点使用心得
2013/08/14 Javascript
关于Javascript作用域链的八点总结
2013/12/06 Javascript
JQuery获取与设置HTML元素的内容或文本的实现代码
2014/06/20 Javascript
5个可以帮你理解JavaScript核心闭包和作用域的小例子
2014/10/08 Javascript
基于Bootstrap里面的Button dropdown打造自定义select
2016/05/30 Javascript
Java框架SSH结合Easyui控件实现省市县三级联动示例解析
2016/06/12 Javascript
js判断PC端与移动端跳转
2020/12/24 Javascript
使用cookie绕过验证码登录的实现代码
2017/10/12 Javascript
Bootstrap实现下拉菜单多级联动
2017/11/23 Javascript
浅谈手写node可读流之流动模式
2018/06/01 Javascript
vue中在vuex的actions中请求数据实例
2019/11/08 Javascript
vue3.0 加载json的方法(非ajax)
2020/10/26 Javascript
[02:05:03]完美世界DOTA2联赛循环赛 LBZS VS Matador BO2 10.28
2020/10/28 DOTA
python基础教程之实现石头剪刀布游戏示例
2014/02/11 Python
python益智游戏计算汉诺塔问题示例
2014/03/05 Python
Python实现windows下模拟按键和鼠标点击的方法
2015/03/13 Python
Python使用win32com模块实现数据库表结构自动生成word表格的方法
2018/07/17 Python
Python代码太长换行的实现
2019/07/05 Python
解决Python计算矩阵乘向量,矩阵乘实数的一些小错误
2019/08/26 Python
tensorboard实现同时显示训练曲线和测试曲线
2020/01/21 Python
Keras官方中文文档:性能评估Metrices详解
2020/06/15 Python
python如何求圆的面积
2020/07/01 Python
canvas 基础之图像处理的使用
2020/04/10 HTML / CSS
计算机应用毕业生自荐信
2013/10/23 职场文书
幼儿园教师的考核评语
2014/04/18 职场文书
销售目标责任书
2014/07/23 职场文书
2015年政协委员工作总结
2015/05/20 职场文书
爱国主义教育基地观后感
2015/06/18 职场文书
小喇叭开始广播了! 四十多年前珍贵老照片
2022/05/09 无线电
python内置模块之上下文管理contextlib
2022/06/14 Python