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 相关文章推荐
jQuery 源码分析笔记(5) jQuery.support
Jun 19 Javascript
jquery 实现input输入什么div图层显示什么
Jun 15 Javascript
jQuery使用fadein方法实现渐出效果实例
Mar 27 Javascript
javascript格式化指定日期对象的方法
Apr 21 Javascript
JavaScript实现Iterator模式实例分析
Jun 09 Javascript
Google 地图事件实例讲解
Aug 06 Javascript
Vue 进阶教程之v-model详解
May 06 Javascript
使用jQuery实现页面定时弹出广告效果
Aug 24 jQuery
mpvue开发音频类小程序踩坑和建议详解
Mar 12 Javascript
Vue表单绑定的实例代码(单选按钮,选择框(单选时,多选时,用 v-for 渲染的动态选项)
May 13 Javascript
解决layui富文本编辑器图片上传无法回显的问题
Sep 18 Javascript
javaScript把其它类型转换为Number类型
Oct 13 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
mayfish 数据入库验证代码
2010/04/30 PHP
thinkphp实现面包屑导航(当前位置)例子分享
2014/05/10 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
jquery处理页面弹出层查询数据等待操作实例
2015/03/25 Javascript
nodejs实现获取当前url地址及url各种参数值
2015/06/25 NodeJs
jQuery实现hover合成事件的方法
2015/08/06 Javascript
浅谈EasyUI常用控件的禁用方法
2016/11/09 Javascript
bootstrap 下拉多选框进行多选传值问题代码分析
2017/02/14 Javascript
JavaScript的for循环中嵌套一个点击事件的问题解决
2017/03/03 Javascript
基于vue.js实现侧边菜单栏
2017/03/20 Javascript
解决vue 项目引入字体图标报错、不显示等问题
2018/09/01 Javascript
关于layui flow loading占位图的实现方法
2019/09/21 Javascript
jstree中的checkbox默认选中和隐藏示例代码
2019/12/29 Javascript
vue cli4下环境变量和模式示例详解
2020/04/09 Javascript
结合axios对项目中的api请求进行封装操作
2020/09/21 Javascript
vue+Element-ui实现登录注册表单
2020/11/17 Javascript
[00:59]DOTA2背景故事第二期之四大基本法则
2020/07/07 DOTA
Python中暂存上传图片的方法
2015/02/18 Python
python获取文件真实链接的方法,针对于302返回码
2018/05/14 Python
python 用正则表达式筛选文本信息的实例
2018/06/05 Python
python使用numpy读取、保存txt数据的实例
2018/10/14 Python
Python中字符串与编码示例代码
2019/05/20 Python
用python wxpy管理微信公众号并利用微信获取自己的开源数据
2019/07/30 Python
在OpenCV里使用特征匹配和单映射变换的代码详解
2019/10/23 Python
Window10上Tensorflow的安装(CPU和GPU版本)
2020/12/15 Python
VSCODE配置Markdown及Markdown基础语法详解
2021/01/19 Python
室内设计实习自我鉴定
2013/09/25 职场文书
函授毕业自我鉴定
2013/12/19 职场文书
2014年保险公司工作总结
2014/11/22 职场文书
2014年世界艾滋病日演讲稿
2014/11/28 职场文书
2014年销售内勤工作总结
2014/12/01 职场文书
法定授权委托证明书
2015/06/18 职场文书
开学第一周值周总结
2015/07/16 职场文书
敬业奉献模范事迹材料(2016精选版)
2016/02/26 职场文书
Python 正则模块详情
2021/11/02 Python
MySQL事务操作的四大特性以及并发事务问题
2022/04/12 MySQL