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自适应IFrame高度(支持嵌套 兼容IE,ff,safafi,chrome)
Mar 28 Javascript
jQuery中Ajax全局事件引用方式及各个事件(全局/局部)执行顺序
Jun 02 Javascript
原生js和css实现图片轮播效果
Feb 07 Javascript
JS 设置Cookie 有效期 检测cookie
Jun 15 Javascript
JavaScript判断浏览器和hack滚动条的写法
Jul 23 Javascript
node-sass安装失败的原因与解决方法
Sep 04 Javascript
vue mint-ui tabbar变组件使用
May 04 Javascript
webpack打包多页面的方法
Nov 30 Javascript
详解JS取出两个数组中的不同或相同元素
Mar 20 Javascript
微信小程序之下拉列表实现方法解析(附完整源码)
Aug 23 Javascript
ES6如何用一句代码实现函数的柯里化
Jan 18 Javascript
用Angular实现一个扫雷的游戏示例
May 15 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使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
2020/04/05 PHP
PHP读取大文件的几种方法介绍
2016/10/27 PHP
PHP防止图片盗用(盗链)的方法小结
2016/11/11 PHP
PHP 匿名函数与注意事项详细介绍
2016/11/26 PHP
jQuery 使用手册(三)
2009/09/23 Javascript
javascript 解析url的search方法
2010/02/09 Javascript
jQuery EasyUI API 中文文档 - Menu菜单
2011/10/03 Javascript
jqTransform form表单美化插件使用方法
2012/07/05 Javascript
js隐式全局变量造成的bug示例代码
2014/04/22 Javascript
使用ngView配合AngularJS应用实现动画效果的方法
2015/06/19 Javascript
JS使用正则表达式除去字符串中重复字符的方法
2015/11/05 Javascript
JavaScript编写检测用户所使用的浏览器的代码示例
2016/05/05 Javascript
vue 封装自定义组件之tabal列表编辑单元格组件实例代码
2017/09/07 Javascript
微信小程序实现动态设置页面标题的方法【附源码下载】
2017/11/29 Javascript
Vue中&quot;This dependency was not found&quot;问题的解决方法
2018/06/19 Javascript
小程序实现密码输入框
2020/11/16 Javascript
[03:42]2014DOTA2西雅图国际邀请赛 Navi战队巡礼
2014/07/07 DOTA
以一段代码为实例快速入门Python2.7
2015/03/31 Python
在Python中实现贪婪排名算法的教程
2015/04/17 Python
pymongo实现多结果进行多列排序的方法
2015/05/16 Python
python通过apply使用元祖和列表调用函数实例
2015/05/26 Python
使用paramiko远程执行命令、下发文件的实例
2017/10/01 Python
python获取外网IP并发邮件的实现方法
2017/10/01 Python
python+POP3实现批量下载邮件附件
2018/06/19 Python
Python实现制度转换(货币,温度,长度)
2019/07/14 Python
jupyter notebook 重装教程
2020/04/16 Python
中国综合网上购物商城:苏宁易购
2016/08/09 全球购物
销售会计工作职责
2013/12/02 职场文书
酒店出纳岗位职责
2013/12/29 职场文书
秋季运动会稿件
2014/01/30 职场文书
初中同学聚会邀请函
2014/02/03 职场文书
《太阳》教学反思
2014/02/21 职场文书
党员2014两会学习心得体会
2014/03/17 职场文书
俞敏洪北大演讲稿
2014/05/22 职场文书
信息合作协议书
2014/10/09 职场文书
给客户的检讨书
2014/12/21 职场文书