基于QCustomPlot实现的Nyquist图、Nichols图 目录1.前言2.底图预览2.1Nyquist图2.2Nichols图3.附着标记点实现4.代码附录1.前言Nyquist奈奎斯特图、Nichols尼科尔斯图是两种频率分析图表与之相近的还有Bode图。由于其业务特性特性除开X-Y轴数据以外这两种图表有很多辅助内容需要去绘制比如M圆/等值线、N圆/等值线等这些内容本文统一称之为底图。底图的内容是固定的由纯粹的数学公式推导出而与实际X-Y数据无关。本文基于QCustomPlot、Qt、C代码绘制出了Nyquist、Nichols底图可以方便使用作为图表背景继而接入个人所需数据从而快速的实现两种图表效果。本文还附带提供了基于两种业务场景的标记点实现。2.底图预览2.1Nyquist图要素内容1XY轴实轴、虚轴2M圆蓝色圆3N圆粉色圆4单位圆绿色圆5零点-10极值点2.2Nichols图要素内容1M等值线、N等值线2临界点3周期特性。图表初始时绘制-720度至360度三个周期的Nichols底图该范围外的底图只有在可视时才会被创建3.附着标记点实现QCPCurveQCustomPlot中的一个曲线类通过输入一系列的散点实际点在界面上拟合、显示出一条曲线。实现了两个标记点两个业务需求1对于图表上的任意一条QCPCurve曲线仅存在一个凸显的标记点。该标记点对应曲线上实际点位置该标记点可以被鼠标拖动至不同位置。2对于图表上的任意一条QCPCurve曲线可以存在多个凸显的标记点。该标记点通过altleft mouse添加、删除该标记点对应曲线上实际点位置该标记点可以被鼠标拖动至不同位置。4.代码附录代码压缩包见文章开头有三类文件1nyquist_chart.h/cppnyquist底图的实现代码。2nichols_chart.h/cppnichols底图实现代码。3curve_data_marker.h/cpp标记点实现代码。备注以上代码需要引入QCustomPlot开源库需自行下载。

相关新闻

最新新闻

CAG6000落地顺序对比:先判高压调速项目,再分流矢量控制、回馈制动或施工升降机方案

CAG6000落地顺序对比:先判高压调速项目,再分流矢量控制、回馈制动或施工升降机方案

CAG6000的落地顺序不建议从品牌排名、单机价格或孤立参数开始,而应先判断项目属性:是否属于高压、大功率电机调速,并且目标指向节能或生产工艺改善。若这个前提成立,再进入高压系统专项方案核验;若不成立,应…

2026/8/16 11:59:19
掌握MySQL多表查询:从JOIN原理到实战优化全解析

掌握MySQL多表查询:从JOIN原理到实战优化全解析

1. 从“单打独斗”到“团队协作”:为什么必须掌握多表查询 如果你刚开始接触数据库,可能觉得单表操作已经足够应付了。查查用户表,改改订单表,一切似乎都井井有条。但现实世界的业务逻辑,就像一张错综复杂的网。一个订…

2026/8/16 11:59:19
彻底清理AutoCAD残留文件与注册表:手动卸载完整指南

彻底清理AutoCAD残留文件与注册表:手动卸载完整指南

1. 项目概述:当卸载变成一场“捉迷藏” AutoCAD,这个在工程设计、建筑绘图领域几乎人手一份的软件,安装时有多顺畅,卸载时往往就有多头疼。相信不少朋友都遇到过这样的窘境:明明在控制面板里点了“卸载”,甚…

2026/8/16 11:59:19
重邮802数据结构考研:如何构建个人专属高效备考资料体系

重邮802数据结构考研:如何构建个人专属高效备考资料体系

如果你正在准备重庆邮电大学计算机考研的802数据结构专业课,面对市面上五花八门的资料,是不是感觉无从下手?是应该啃透严蔚敏的经典教材,还是刷遍王道天勤的习题集?又或者,网上流传的那些“学长笔记”和“内…

2026/8/16 11:59:19
金蝶用友凭证导入报错全解析:从模板校验到系统配置的实战排错指南

金蝶用友凭证导入报错全解析:从模板校验到系统配置的实战排错指南

1. 项目概述:为什么凭证导入总在“报错”? 干了这么多年财务信息化,从实施顾问到甲方运维,我经手处理过的金蝶、用友凭证导入问题,少说也有几百例。每次看到财务同事发来“导入失败”的截图,后面跟着一连串…

2026/8/16 11:59:18
EdgeRemover 完整实战:卸载按钮是灰色的?3 步彻底告别自动复活的 Edge

EdgeRemover 完整实战:卸载按钮是灰色的?3 步彻底告别自动复活的 Edge

EdgeRemover 完整实战:卸载按钮是灰色的?3 步彻底告别自动复活的 Edge 【免费下载链接】EdgeRemover A PowerShell script that correctly uninstalls or reinstalls Microsoft Edge on Windows 10 & 11. 项目地址: https://gitcode.com/gh_mirror…

2026/8/16 11:54:18