当前位置: 首页 > news >正文

探索温度计的数字化设计:一个可视化温度数据的Web图表案例

随着科技的发展,数据可视化在各个领域中的应用越来越广泛。在温度监控和展示方面,传统的温度计已逐渐被数字化温度计所取代。本文将介绍一个使用Echarts库创建的温度计Web图表,该图表通过动态数据可视化展示了温度值,并通过渐变色和刻度设计增加了温度计的真实感。

项目需求

在我们的项目中,我们需要创建一个温度计图表,它可以实时展示温度值,并具有渐变色的温度刻度。此外,我们还希望温度计的显示内容能够根据温度值的变化而变化,例如当温度偏高时显示特定的文本。

技术选型

为了实现这个项目,我们选择了 ECharts 作为我们的图表库。ECharts 提供了多种图表类型,包括条形图、折线图、饼图等,并且可以轻松地自定义图表样式和交互功能。此外,ECharts 支持响应式设计,能够适应不同大小的屏幕。

实现过程

  1. 初始化 ECharts 实例:我们首先需要在 HTML 页面中引入 ECharts 库,并创建一个图表容器。然后,我们可以通过 JavaScript 初始化 ECharts 实例,并设置图表的基本配置。

  2. 配置图表系列:我们创建了多个系列,包括温度计的显示内容、温度刻度、温度计柱等。每个系列都有其独特的配置,如类型、数据、样式等。

  3. 温度值和显示内容的处理:我们定义了温度值 TP_value 和显示内容 TP_txt,并根据温度值的不同范围,设置了不同的显示内容和渐变色。

  4. 温度刻度的处理:我们使用了一个循环来构造温度刻度,并根据温度值的不同范围,设置了不同的刻度值。

  5. 温度计柱的处理:我们设置了温度计柱的渐变色和样式,并根据温度值的不同范围,设置了不同的显示内容和样式。

  6. 显示内容和定位的处理:我们设置了显示内容和定位,并根据温度值的不同范围,设置了不同的显示内容和定位。

  7. 避免温度过低 右侧指示内容出界:我们设置了温度计柱的宽度,并根据温度值的不同范围,设置了不同的宽度。

实现代码

通过以上步骤,我们成功地创建了一个温度计的数字化呈现。该图表可以实时展示温度值,并具有渐变色的温度刻度。代码如下:

var TP_value = 10;  // 温度
var kd = [];        // 刻度
var Gradient = [];  // 存放颜色的数组
var leftColor = ''; // 显示文本的颜色
var showValue = ''; // 显示内容 温度数字
var boxPosition = [65, 0];  // 显示内容的定位
var TP_txt = '';    // 显示内容 文本// 刻度使用柱状图模拟,短设置1,长的设置3;构造一个数据
for (var i = 0, len = 135; i <= len; i++) {if (i < 10 || i > 130) {kd.push('')} else {if ((i - 10) % 20 === 0) {kd.push('-3');} else if ((i - 10) % 4 === 0) {kd.push('-1');} else {kd.push('');}}
}//中间线的渐变色和文本内容
if (TP_value > 20) {TP_txt = '温度偏高';Gradient.push({offset: 0,color: '#93FE94'}, {offset: 0.5,color: '#E4D225'}, {offset: 1,color: '#E01F28'})
} 
else if (TP_value > -20) {TP_txt = '温度正常';Gradient.push({offset: 0,color: '#93FE94'}, {offset: 1,color: '#E4D225'})
} 
else {TP_txt = '温度偏低';Gradient.push({offset: 1,color: '#93FE94'})
}
if (TP_value > 62) {showValue = 62
} 
else {if (TP_value < -60) {showValue = -60} else {showValue = TP_value}
}
// 避免温度过低 右侧指示内容出界
if (TP_value < -10) {boxPosition = [65, -120];
}leftColor = Gradient[Gradient.length - 1].color;
// 因为柱状初始化为0,温度存在负值,所以加上负值60和空出距离10option = {backgroundColor: '#0C2F6F',title: {text: '温度计',show: true,textStyle: {color: '#fff'}},yAxis: [{show: false,data: [],min: 0,max: 135,axisLine: {show: false}}, {show: false,min: 0,max: 50,}, {type: 'category',data: ['', '', '', '', '', '', '', '', '', '', '°C'],position: 'left',offset: -150,axisLabel: {fontSize: 18,color: 'white'},axisLine: {show: false},axisTick: {show: false},}],xAxis: [{show: false,min: -10,max: 80,data: []}, {show: false,min: -10,max: 80,data: []}, {show: false,min: -10,max: 80,data: []}, {show: false,min: -5,max: 80,}],series: [{name: '条/温度计柱',type: 'bar',// 对应上面XAxis的第一个对象配置xAxisIndex: 0,data: [{value: (showValue + 70),label: {normal: {show: true,position: boxPosition,backgroundColor: {image: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAAAsT%0AAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNn%0AVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8ig%0AiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfA%0ACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAH%0AvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCd%0AmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7%0AAKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7%0AAGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkX%0AKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G%0A/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUA%0AoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7i%0AJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5E%0AmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcA%0AAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCB%0AKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv%0A1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggX%0AmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyG%0AvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+%0AQ8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXA%0ACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIx%0Ah1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBoj%0Ak8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU0%0A5QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgX%0AaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+Y%0ATKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV%0A81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkG%0AWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2q%0AqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxr%0AqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acK%0ApxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VH%0ADFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYP%0AjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x%0A1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l%0A1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6T%0AvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPj%0AthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWd%0Am7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+B%0AZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nv%0Anl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5%0AQRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeG%0AP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8Yu%0AZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxap%0ALhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgq%0ATXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqoh%0ATZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdl%0AV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxx%0AedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWF%0Afevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavE%0AuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/%0APLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttV%0AAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRS%0Aj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92%0AHWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLT%0Ak2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy%0A2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L15%0A8Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfV%0AP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L9%0A6fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bC%0Axh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz%0A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%0AAElFTkSuQmCC', //文字框背景图},width: 100,height: 30,padding: [30, -40, 0, 0],formatter: '{back| ' + TP_value + ' }{unit|°C}\n{downTxt|' + TP_txt + '}',rich: {back: {align: 'right',lineHeight: 36,fontSize: 24,fontFamily: '微软雅黑',color: leftColor},unit: {align: 'right',fontFamily: '微软雅黑',fontSize: 14,lineHeight: 36,color: '#fff'},downTxt: {lineHeight: 36,fontSize: 24,align: 'right',color: leftColor}}}}}],barWidth: 20,itemStyle: {normal: {color: new echarts.graphic.LinearGradient(0, 1, 0, 0, Gradient)}},z: 2}, {name: '白框/里面填充柱',type: 'bar',xAxisIndex: 1,barGap: '-100%',data: [134],barWidth: 28,itemStyle: {normal: {color: '#0C2E6D',barBorderRadius: 50,}},z: 1}, {name: '外框',type: 'bar',xAxisIndex: 2,barGap: '-100%',data: [135],barWidth: 38,itemStyle: {normal: {color: '#4577BA',barBorderRadius: 50,}},z: 0}, {name: '圆',type: 'scatter',hoverAnimation: false,data: [0],xAxisIndex: 0,symbolSize: 48,itemStyle: {normal: {color: '#93FE94',opacity: 1,}},z: 2}, {name: '白圆/温度计圆下方圆',type: 'scatter',hoverAnimation: false,data: [0],xAxisIndex: 1,symbolSize: 60,itemStyle: {normal: {color: '#0C2E6D',opacity: 1,}},z: 1}, {name: '外圆/最外层圆',type: 'scatter',hoverAnimation: false,data: [0],xAxisIndex: 2,symbolSize: 70,itemStyle: {normal: {color: '#4577BA',opacity: 1,}},z: 0}, {name: '刻度',type: 'bar',yAxisIndex: 0,xAxisIndex: 3,label: {normal: {show: true,position: 'left',distance: 10,color: 'white',fontSize: 14,formatter: function(params) {if (params.dataIndex > 130 || params.dataIndex < 10) {return '';} else {if ((params.dataIndex - 10) % 20 === 0) {return params.dataIndex - 70;} else {return '';}}}}},barGap: '-100%',data: kd,barWidth: 1,itemStyle: {normal: {color: 'white',barBorderRadius: 120,}},z: 0}]
};

总结

通过这个项目,我们了解了如何使用 ECharts 创建一个温度计的数字化呈现。ECharts 提供了丰富的图表类型和强大的交互功能,非常适合用于数据展示和分析。在未来的项目中,我们可以继续探索 ECharts 的其他功能和图表类型,以实现更多有趣和实用的数据可视化效果。

 

 

 

相关文章:

探索温度计的数字化设计:一个可视化温度数据的Web图表案例

随着科技的发展&#xff0c;数据可视化在各个领域中的应用越来越广泛。在温度监控和展示方面&#xff0c;传统的温度计已逐渐被数字化温度计所取代。本文将介绍一个使用Echarts库创建的温度计Web图表&#xff0c;该图表通过动态数据可视化展示了温度值&#xff0c;并通过渐变色…...

JS API事件监听(绑定)

事件监听 语法 元素对象.addEventListener(事件监听,要执行的函数) 事件监听三要素 事件源&#xff1a;那个dom元素被事件触发了&#xff0c;要获取dom元素 事件类型&#xff1a;用说明方式触发&#xff0c;比如鼠标单击click、鼠标经过mouseover等 事件调用的函数&#x…...

【k8s】kube-state-metrics 和 metrics-server

kube-state-metrics 和 metrics-server 是 Kubernetes 生态系统中两个重要的监控组件&#xff0c;但它们的功能和用途有所不同。下面是对这两个组件的详细介绍&#xff1a; kube-state-metrics 功能&#xff1a; kube-state-metrics 是一个简单的服务&#xff0c;它监听 Kub…...

Linux设置开启启动脚本

1.问题 每次启动虚拟机需要手动启动网络&#xff0c;不然没有enss33选项 需要启动 /mnt/hgfs/dft_shared/init_env/initaial_env.sh 文件 2.解决方案 2.1 修改/etc/rc.d/rc.local 文件 /etc/rc.d/rc.local 文件会在 Linux 系统各项服务都启动完毕之后再被运行。所以你想要…...

数据结构-图(一)

文章目录 图一、图的基本概念&#xff08;一&#xff09;图的定义&#xff08;二&#xff09;有向图与无向图&#xff08;三&#xff09;顶点的度、入度与出度&#xff08;四&#xff09;路径、回路与连通图 二、图的存储及基本操作&#xff08;一&#xff09;邻接矩阵&#xf…...

SQL面试题——抖音SQL面试题 最近一笔有效订单

最近一笔有效订单 题目背景如下,现有订单表order,包含订单ID,订单时间,下单用户,当前订单是否有效 +---------+----------------------+----------+-----------+ | ord_id | ord_time | user_id | is_valid | +---------+----------------------+--------…...

【人工智能基础05】决策树模型

文章目录 一. 基础内容1. 决策树基本原理1.1. 定义1.2. 表示成条件概率 2. 决策树的训练算法2.1. 划分选择的算法信息增益&#xff08;ID3 算法&#xff09;信息增益比&#xff08;C4.5 算法&#xff09;基尼指数&#xff08;CART 算法&#xff09;举例说明&#xff1a;计算各个…...

远程桌面协助控制软件 RustDesk v1.3.3 多语言中文版

RustDesk 是一款开源的远程桌面软件&#xff0c;支持多平台操作&#xff0c;包括Windows、macOS、Linux、iOS、Android和Web。它提供端到端加密和基于角色的访问控制&#xff0c;确保安全性和隐私保护。使用简单&#xff0c;无需复杂配置&#xff0c;通过输入ID和密码即可快速连…...

git的学习笔记

一&#xff0c;git的安装 mac电脑的安装 xcode-select --install windows安装&#xff0c;用指令麻烦一些 随便找个视频观看看教程&#xff0c;去官网下载就可以了。 centos安装 sudo yum install git -y ubuntu安装 sudo apt-get install git -y 查看git安装的版本 git --ver…...

【目标检测】YOLO:深度挖掘YOLO的性能指标。

YOLO 性能指标 1、物体检测指标2、性能评估指标详解2.1 平均精度&#xff08;mAP&#xff09;2.2 每秒帧数&#xff08;FPS&#xff09;2.3 交并比&#xff08;IoU&#xff09;2.4 混淆矩阵&#xff08;Confusion Matrix&#xff09;2.5 F1-Score2.6 PR曲线&#xff08;Precisi…...

第一届帕鲁杯”应急响应“解析-上部分

这个帕鲁杯是一个模拟真实生产场景的应急响应题目&#xff0c;这个具有拓扑网络结构&#xff0c;考察综合能力以及对各个系统的应急响应 网络拓扑结构图如下 相关的资产情况如下 mysql01&#xff1a;10.66.1.10mysql02&#xff1a;10.66.1.11PC01&#xff1a;10.66.1.12PC02…...

前端http,ws拉流播放视频

可以在西瓜播放器官网APi调试拉取的视频流是否可以播放 类似http拉流地址为&#xff1a;http://localhost:8866/live?urlrtsp://admin:admin123192.168.11.50:554/cam/realmonitor?channel1&subtype01 <!DOCTYPE html> <html><head><meta charset…...

揭开广告引擎的神秘面纱:如何在0.1秒内精准匹配用户需求?

目录 一、广告系统与广告引擎介绍 &#xff08;一&#xff09;广告系统与广告粗分 &#xff08;二&#xff09;广告引擎在广告系统中的重要性分析 二、广告引擎整体架构和工作过程 &#xff08;一&#xff09;一般概述 &#xff08;二&#xff09;核心功能架构图 三、标…...

【2024】使用Docker搭建redis sentinel哨兵模式集群全流程(包含部署、测试、错误点指正以及直接部署)

目录&#x1f4bb; 前言**Docker Compose介绍**最终实现效果 一、搭建集群1、创建文件结构2、创建redis节点3、验证节点4、创建sentinel哨兵5、验证Sentinel功能 二、spring连接1、添加依赖2、添加配置3、启动测试 三、直接部署流程1、拉取配置2、修改端口创建 前言 本篇文章主…...

Spring WebFlux与Spring MVC

Spring WebFlux 是对 Spring Boot 项目中传统 Spring MVC 部分的一种替代选择&#xff0c;主要是为了解决现代 Web 应用在高并发和低延迟场景下的性能瓶颈。 1.WebFlux 是对 Spring MVC 的替代 架构替代&#xff1a; Spring MVC 使用的是基于 Servlet 规范的阻塞式模型&#xf…...

江协科技最新OLED保姆级移植hal库

江协科技最新OLED移植到hal库保姆级步骤 源码工程存档 工程和源码下载(密码 1i8y) 原因 江协科技的开源OLED封装的非常完美, 可以满足我们日常的大部分开发, 如果可以用在hal库 ,将是如虎添翼, 为我们开发调试又增加一个新的瑞士军刀, 所以我们接下来手把手的去官网移植源码…...

Vue框架开发一个简单的购物车(Vue.js)

让我们利用所学知识来开发一个简单的购物车 &#xff08;记得暴露属性和方法&#xff01;&#xff01;&#xff01;&#xff09; 首先来看一下最基本的一个html框架 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"&…...

探索嵌入式硬件设计:揭秘智能设备的心脏

目录 引言 嵌入式系统简介 嵌入式硬件设计的组成部分 设计流程 微控制器选择 原理图设计 PCB布局 编程与调试 系统集成与测试 深入理解微控制器 存储器管理 输入/输出接口 通信接口 电源管理 硬件抽象层&#xff08;HAL&#xff09; 操作系统&#xff08;OS&am…...

逆向攻防世界CTF系列42-reverse_re3

逆向攻防世界CTF系列42-reverse_re3 参考&#xff1a;CTF-reverse-reverse_re3&#xff08;全网最详细wp&#xff0c;超4000字有效解析&#xff09;_ctfreverse题目-CSDN博客 64位无壳 _int64 __fastcall main(__int64 a1, char **a2, char **a3) {int v4; // [rsp4h] [rbp-…...

AIGC时代 | 如何从零开始学网页设计及3D编程

文章目录 一、网页设计入门1. 基础知识2. 学习平台与资源3. 示例代码&#xff1a;简单的HTMLCSSJavaScript网页 二、3D编程入门1. 基础知识2. 学习平台与资源3. 示例代码&#xff1a;简单的Unity 3D游戏 《编程真好玩&#xff1a;从零开始学网页设计及3D编程》内容简介作者简介…...

EMall实践DDD模拟电商系统总结

目录 一、事件风暴 二、系统用例 三、领域上下文 四、架构设计 &#xff08;一&#xff09;六边形架构 &#xff08;二&#xff09;系统分层 五、系统实现 &#xff08;一&#xff09;项目结构 &#xff08;二&#xff09;提交订单功能实现 &#xff08;三&#xff0…...

基于多VSG独立微网的多目标二次控制MATLAB仿真模型

“电气仔推送”获得资料&#xff08;专享优惠&#xff09; 模型简介 本文将一致性算法引入微电网的二次频率和电压控制&#xff0c;自适应调节功率参考值和补偿电压&#xff0c;同时实现频率电压恢复、有功 无功功率的比例均分以及功率振荡抑制&#xff0c;提高系统的暂态和稳…...

自动化运维(k8s)之微服务信息自动抓取:namespaceName、deploymentName等全解析

前言&#xff1a;公司云原生k8s二开工程师发了一串通用性命令用来查询以下数值&#xff0c;我想着能不能将这命令写成一个自动化脚本。 起初设计的 版本一&#xff1a;开头加一条环境变量&#xff0c;执行脚本后&#xff0c;提示输入&#xff1a;需要查询的命名空间&#xff0c…...

nginx 代理 web service 提供 soap + xml 服务

nginx 代理 web service 提供 soap xml 服务 最关键的配置: # Nginx默认反向后的端口为80&#xff0c;因此存在被代理后的端口为80的问题&#xff0c;这就导致访问出错。主要原因在Nginx的配置文件的host配置时没有设置响应的端口。Host配置只有host&#xff0c;没有对应的p…...

深入理解 MongoDB:一款灵活高效的 NoSQL 数据库

在现代应用程序开发中&#xff0c;数据存储技术已经从传统的关系型数据库&#xff08;RDBMS&#xff09;扩展到多样化的 NoSQL 数据库。MongoDB 作为一款广泛使用的文档型数据库&#xff0c;以其灵活性、高性能和易用性成为开发者的首选之一。本篇博文将从 MongoDB 的核心概念、…...

vue3 + vite + antdv 项目中自定义图标

前言&#xff1a; 去iconfont-阿里巴巴矢量图标库 下载自己需要的icon图标&#xff0c;下载格式为svg&#xff1b;项目中在存放静态资源的文件夹下 assets 创建一个存放svg格式的图片的文件夹。 步骤&#xff1a; 1、安装vite-plugin-svg-icons npm i vite-plugin-svg-icons …...

PDF版地形图矢量出现的问题

项目描述&#xff1a;已建风电场道路测绘项目&#xff0c;收集到的数据为PDF版本的地形图&#xff0c;图上标注了项目竣工时期的现状&#xff0c;之后项目对施工区域进行了复垦恢复地貌&#xff0c;现阶段需要准确的知道实际复垦修复之后的道路及其它临时用地的面积 解决方法&…...

JavaScript 高级教程:异步编程、面向对象与性能优化

在前两篇教程中&#xff0c;我们学习了 JavaScript 的基础和进阶内容。这篇文章将带领你进入更深层次&#xff0c;学习 JavaScript 的异步编程模型、面向对象编程&#xff08;OOP&#xff09;&#xff0c;以及性能优化的技巧。这些内容对于构建复杂、流畅的前端应用至关重要。 …...

有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。-多语言

目录 C 语言实现 Python 实现 Java 实现 Js 实现 题目&#xff1a;有一个已经排好序的数组。现输入一个数&#xff0c;要求按原来的规律将它插入数组中。 程序分析&#xff1a;首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移…...

OCR实现微信截图改名

pip install paddlepaddle -i https://pypi.tuna.tsinghua.edu.cn/simple/ ──(Sat,Nov30)─┘ pip install shapely -i https://pypi.tuna.tsinghua.edu.cn/simple/ pip install paddleo…...

c++stl模板总结

stl 总结stl模板vectordequelistforward_liststl集合类set&unorder_setmap&unorder_map 自适应容器栈和队列stackqueuepriority_queue 总结stl模板 vector 1.初始化 vector具有多个重载的构造函数&#xff0c;可以在实例化vector时指定他开始时应该包含的元素个数以…...

文本生成类(机器翻译)系统评估

在机器翻译任务中常用评价指标&#xff1a;BLEU、ROGUE、METEOR、PPL。 这些指标的缺点&#xff1a;只能反应模型输出是否类似于测试文本。 BLUE&#xff08;Bilingual Evaluation Understudy&#xff09;&#xff1a;是用于评估模型生成的句子(candidate)和实际句子(referen…...

Harmony NEXT-越过相机读写权限上传图片至项目云存储中

问题成因 在制作用户注册登录界面时想要实现用户头像上传共能&#xff0c;查询API文档&#xff0c;发现有picker和PhotoAccessHelper两个包可以选择使用&#xff0c;但是在使用PhotoAccessHelper包拉起相册并读入所选的照片后将该照片传入云存储中产生报错&#xff0c;需要相册…...

C++算法练习-day53——17.电话号码的字母组合

题目来源&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 题目思路分析 题目要求我们将一个数字字符串&#xff08;每个数字对应一组字母&#xff0c;如2对应abc&#xff0c;3对应def等&#xff09;转换成所有可能的字母组合。这是一个典型的组合生成问题&#xff0c;…...

计算机网络性能

任何一个系统都可以或需要不同的指标来度量系统的优劣、状态或特性。计算机网络是综合计算机技术与通信技术的复杂系统&#xff0c;可以通过许多指标对一个计算机网络的整体或局部、全面或部分、静态或动态等不同方面的性能进行度量与评价 1、传输时延 当一个分组在输出链路发…...

MAC卸载Vmware Fusion后无法再安装解决方案

MAC卸载Vmware Fusion后无法再安装解决方案 执行脚本 sudo rm -rf /Library/Application Support/VMware/VMware Fusion sudo rm -rf /Library/Application Support/VMware/Usbarb.rules sudo rm -rf /Library/Application Support/VMware Fusion sudo rm -rf /Library/Prefe…...

windows 服务器角色

windows 服务器角色 Active Directory Rights Management Services Active Directory RightsManagement Services (AD RS)帮助保护信息&#xff0c;防止未授权使用。AD RMS 将建立用户标识&#xff0c;并为授权用户提供受保护信息的许可证。 ServicesActive Directory 联合身…...

NAT学习手册

NAT&#xff08;Network Address Translation&#xff0c;网络地址转换&#xff09;是一种在局域网&#xff08;LAN&#xff09;内部使用私有地址&#xff0c;而在连接到互联网时将这些私有地址转换为全球唯一且有效的公网地址的技术。这种技术的主要目的是解决IPv4地址空间不足…...

python -从文件夹批量提取pdf文章的第n页,并存储起来

python -从文件夹批量提取pdf文章的第n页&#xff0c;并存储起来 废话不多说&#xff0c;看下面代码 讲解一下下面代码 reader PyPDF2.PdfReader (file) 将文件转化为PdfReader 对象&#xff0c;方便使用内置方法。 first_page reader.pages[0] 提取第一页 writer PyPDF…...

RPC中定时器制作思路

定时器设计 time_event time_event 类用来封装定时时间&#xff0c;内部需要包含一个任务执行时间&#xff0c;是否重复标记、是否取消标记&#xff0c;对于重复任务&#xff0c;还需要一个重复间隔时间。以及一个回调函数&#xff0c;用来执行任务到期后需要执行的动作。 构…...

Flutter简单实现滑块验证

现在实现一个 Flutter 滑动验证组件&#xff0c;类似于许多网站和应用程序中常见的“滑动以验证”功能。它通过滑动一个滑块来完成验证操作&#xff0c;用户需要将滑块拖动到指定位置以完成验证。 前置知识点整理 StatefulWidget 在 Flutter 中&#xff0c;StatefulWidget 是…...

第33周:运动鞋识别(Tensorflow实战第五周)

目录 前言 一、前期工作 1.1 设置GPU 1.2 导入数据 1.3 查看数据 二、数据预处理 2.1 加载数据 2.2 可视化数据 2.3 再次检查数据 2.4 配置数据集 2.4.1 基本概念介绍 2.4.2 代码完成 三、构建CNN网络 四、训练模型 4.1 设置动态学习率 4.2 早停与保存最佳模型…...

C#中switch语句使用

编写一个程序&#xff0c;使用switch语句将用户输入的分数转换成等级&#xff0c;如表 private static void Main(string[] args) { Console.WriteLine("请输入分数&#xff1a;"); int score int.Parse(Console.ReadLine()); switch (score) …...

2024.11.28(作业)

思维导图 功能函数声明文件 #ifndef _FUN_H__ #define _FUN_H__ #include <myhead.h>#define MAX 50 //数组大小 #define QAZ 20 //长度和字符串大小typedef int datatype; //数据元素类型//2.1 定义顺序表类型 typedef struct {datatype data[MAX];int len; }S…...

充分统计量(Sufficient Statistic)概念与应用: 中英双语

充分统计量&#xff1a;概念与应用 在统计学中&#xff0c;充分统计量&#xff08;Sufficient Statistic&#xff09; 是一个核心概念。它是从样本中计算得出的函数&#xff0c;能够完整且无损地表征样本中与分布参数相关的信息。在参数估计中&#xff0c;充分统计量能够帮助我…...

2. STM32_中断

中断 中断是什么&#xff1a; 打断CPU执行正常的程序&#xff0c;转而处理紧急程序&#xff0c;然后返回原暂停的程序继续运行&#xff0c;就叫中断。 中断的意义&#xff1a; 中断可以高效处理紧急程序&#xff0c;不会一直占用CPU资源。如实时控制、故障处理、处理不确定…...

CAD 文件 批量转为PDF或批量打印

CAD 文件 批量转为PDF或批量打印&#xff0c;还是比较稳定的 1.需要本地安装CAD软件 2.通过 Everything 搜索工具搜索&#xff0c;DWG To PDF.pc3 &#xff0c;获取到文件目录 &#xff0c;替换到代码中&#xff0c; originalValue ACADPref.PrinterConfigPath \ r"C:…...

明明的随机数

题目描述 明明想在学校中请一些同学一起做一项问卷调查&#xff0c;为了实验的客观性&#xff0c;他先用计算机生成了N个1到1000之间的随机整数&#xff08;N≤100&#xff09;&#xff0c;对于其中重复的数字&#xff0c;只保留一个&#xff0c;把其余相同的数去掉&#xff…...

2024金盾信安杯线上赛 MISC ezpng[wp]

下载题目发现给了个password和png 图片发现损坏的 password丢随波逐流一键解 base64 给出解码的结果是 cimbar搜索发现在Github有工具 然后对附件中的图片进行小厨房xor 得到一张新图片 利用工具进行跑出答案...

C与指针。

目录 1_指针理解 1.1变量的值 1.2变量的地址 1.3指针 1.4取变量的地址 2_分析指针 2.1分析指针变量的要素 2.2根据需求定义指针变量 3_指针的使用 3.1指针对变量的读操作 3.2指针对变量的写操作 4_指针占用空间的大小与位移 4.1指针占用空间的大小 4.2指针的位移…...