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 EasyUI 使用介绍
Apr 01 Javascript
javascript常用对话框小集
Sep 13 Javascript
如何实现textarea里的不同文本显示不同颜色
Jan 20 Javascript
JavaScript+CSS实现仿Mootools竖排弹性动画菜单效果
Oct 14 Javascript
Angular directive递归实现目录树结构代码实例
May 05 Javascript
详解node中创建服务进程
May 09 Javascript
浅谈Express异步进化史
Sep 09 Javascript
Vue.js简易安装和快速入门(第二课)
Oct 17 Javascript
解决Vue打包之后文件路径出错的问题
Mar 06 Javascript
jQuery实现的简单日历组件定义与用法示例
Dec 24 jQuery
Node.js 多线程完全指南总结
Mar 27 Javascript
vue+element实现表单校验功能
May 20 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
通过文字传递创建的图形按钮
2006/10/09 PHP
PHP 木马攻击防御技巧
2009/06/13 PHP
解析PHP跳出循环的方法以及continue、break、exit的区别介绍
2013/07/01 PHP
php从文件夹随机读取文件的方法
2015/06/01 PHP
PHP正则表达式入门教程(推荐)
2016/05/18 PHP
centos 7.2下搭建LNMP环境教程
2016/11/20 PHP
PHP将数据导出Excel表中的实例(投机型)
2017/07/31 PHP
PHP开发的文字水印,缩略图,图片水印实现类与用法示例
2019/04/12 PHP
php array 转json及java 转换 json数据格式操作示例
2019/11/13 PHP
js下通过prototype扩展实现indexOf的代码
2010/12/08 Javascript
JavaScript 用cloneNode方法克隆节点的代码
2012/10/15 Javascript
js获取url参数值的两种方式
2013/09/10 Javascript
将json当数据库一样操作的javascript lib
2013/10/28 Javascript
纯js实现重发验证码按钮倒数功能
2015/04/21 Javascript
jQuery匹配文档链接并添加class的方法
2015/06/26 Javascript
jQuery实现列表内容的动态载入特效
2015/08/08 Javascript
CSS中position属性之fixed实现div居中
2015/12/14 Javascript
jQuery插件FusionCharts绘制的3D饼状图效果实例【附demo源码下载】
2017/03/03 Javascript
Vue添加请求拦截器及vue-resource 拦截器使用
2017/11/23 Javascript
Keras自动下载的数据集/模型存放位置介绍
2020/06/19 Python
python中plt.imshow与cv2.imshow显示颜色问题
2020/07/16 Python
使用Python实现NBA球员数据查询小程序功能
2020/11/09 Python
css3media响应式布局实例
2016/07/08 HTML / CSS
印尼极简主义和实惠的在线家具店:Fabelio
2019/03/27 全球购物
仓管员岗位职责范文
2013/11/08 职场文书
美德好少年主要事迹
2014/01/29 职场文书
敬老院院长事迹材料
2014/05/21 职场文书
优秀求职信
2014/05/29 职场文书
药店促销活动策划方案
2014/08/24 职场文书
社区党员公开承诺书
2014/08/30 职场文书
有限责任公司股东合作协议书
2014/12/02 职场文书
个人总结与自我评价
2015/02/14 职场文书
小区保洁员岗位职责
2015/04/10 职场文书
CSS布局之浮动(float)和定位(position)属性的区别
2021/09/25 HTML / CSS
MySQL中IO问题的深入分析与优化
2022/04/02 MySQL
MySQL普通表如何转换成分区表
2022/05/30 MySQL