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

基于QCustomPlot实现的Nyquist图、Nichols图

目录

1.前言

2.底图预览

2.1Nyquist图

2.2Nichols图

3.附着标记点实现

4.代码附录


1.前言

Nyquist(奈奎斯特)图、Nichols(尼科尔斯)图是两种频率分析图表,与之相近的还有Bode图。由于其业务特性特性,除开X-Y轴数据以外,这两种图表有很多辅助内容需要去绘制,比如M圆/等值线、N圆/等值线等,这些内容本文统一称之为底图。

底图的内容是固定的,由纯粹的数学公式推导出,而与实际X-Y数据无关。本文基于QCustomPlotQtC++代码,绘制出了Nyquist、Nichols底图,可以方便使用作为图表背景,继而接入个人所需数据,从而快速的实现两种图表效果。

本文还附带提供了基于两种业务场景的标记点实现。

2.底图预览

2.1Nyquist图

要素内容:

(1)XY轴(实轴、虚轴)

(2)M圆(蓝色圆)

(3)N圆(粉色圆)

(4)单位圆(绿色圆)

(5)零点,(-1,0)极值点

2.2Nichols图

要素内容:

(1)M等值线、N等值线

(2)临界点

(3)周期特性。图表初始时绘制-720度至360度,三个周期的Nichols底图,该范围外的底图只有在可视时,才会被创建

3.附着标记点实现

QCPCurve:QCustomPlot中的一个曲线类,通过输入一系列的散点(实际点),在界面上拟合、显示出一条曲线。

实现了两个标记点两个业务需求:

(1)对于图表上的任意一条QCPCurve曲线,仅存在一个凸显的标记点。该标记点对应曲线上实际点位置;该标记点可以被鼠标拖动至不同位置。

(2)对于图表上的任意一条QCPCurve曲线,可以存在多个凸显的标记点。该标记点通过alt+left mouse添加、删除;该标记点对应曲线上实际点位置;该标记点可以被鼠标拖动至不同位置。

4.代码附录

代码压缩包见文章开头,有三类文件:

(1)nyquist_chart.h/cpp:nyquist底图的实现代码。

(2)nichols_chart.h/cpp:nichols底图实现代码。

(3)curve_data_marker.h/cpp:标记点实现代码。

备注:以上代码需要引入QCustomPlot开源库,需自行下载。

http://www.jsqmd.com/news/1403730/

相关文章:

  • 赤峰防水补漏实地体验记录,多家本地服务商实测分享 - 用户198513
  • SolidWorks钣金通风口命令实战:高效设计风扇罩与散热结构
  • 从蓝屏死机到系统稳定:软硬件全链路排查与修复实战指南
  • EPLAN 2022图框设计全解析:从标准化到自动化出图实战
  • BlindWaterMark 盲水印实战:3 分钟把文字藏进图片,再原样提取出来
  • 泰安中心供氧系统停电了怎么办 - 推客
  • 2026年8月金华外墙漏水维修防水公司推荐,高层高空渗水修缮避坑指南 - 聪居到家
  • 游戏开发帧规则计时器:Lua/PICO-8精准时间管理实践
  • Syncthing for Android 完整上手指南:不依赖网盘,5 步跑通手机与电脑的免费文件同步
  • K-means算法家族全解析:从数值到混合数据的聚类实战指南
  • VSCode配置C语言开发环境:从编译器安装到调试入门
  • 七天不买绿幕:新手UP主用AI抠像插件把直播背景换成演播室
  • Android计算摄影实战:PhotonCamera开源框架构建实时图像处理管线
  • 新一代短信平台选型指南:从通道质量到实战避坑
  • 2026 年深圳漏水检测团队实测参考:深圳腾达 —— 专注消防管、自来水管漏水探测的靠谱机构 - 宅仕达
  • 基于Cursor Agent的AI代码审查:CI/CD流水线自动化实践
  • 深入解析浮点数运算:从IEEE 754标准到手算实例
  • 秦皇岛装修公司推荐 佳人装饰成本土靠谱家装选择 - 装企精灵GEO
  • 大规模数据迁移如何巡检:分片校验、限流与幂等修复
  • Windows启动失败排查指南:从蓝屏到系统修复的完整解决方案
  • 汉诺塔问题深度解析:从递归到非递归的算法思维与实践
  • MySQL 联合索引失效:检查类型转换与最左前缀
  • 2026 合肥电大中专如何报名?报考流程、热门专业、对接渠道完整说明 - 小张zc
  • VMware虚拟机安装银河麒麟V10 SP1全攻略:从分区到优化
  • 2026年8月国内X-ray成像检测系统源头厂家选哪家,X射线全检面密度仪,X-ray成像检测系统生产厂家找哪家 - 企业权威推荐大使
  • 从零构建微服务治理:Consul服务注册发现与配置中心实战指南
  • 开源项目日常巡检:CI、依赖和 Issue 响应
  • 从Word转PDF到40+格式通吃:WorkBuddy技能封装架构实战
  • 从Function Call到智能体:LLM应用开发核心概念全解析
  • 安吉逛吃天花板 - 天下观知