QCustomplot---动态图

2024-05-16 06:36
文章标签 动态图 qcustomplot

本文主要是介绍QCustomplot---动态图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

QCustomplot绘制动态曲线图-游标及鼠标跟踪显示数值_qcustomplot 游标-CSDN博客

       m_timer = new QTimer(this);connect(m_timer,SIGNAL(timeout()),this,SLOT(slotTimeout()));m_timer->start(50);
void MainWindow::slotTimeout()
{static int p=0;static int i=0;double m,m1,m2;m2=i/50.0 - 1;//-1,1m= m2+p;//-1+p,1+pm1 = m2*m2;if(i==101)i=0;else i++;ui->plotWidget->graph(0)->addData(m,m1);ui->plotWidget->xAxis->setRange(-1,1+p);ui->plotWidget->replot();qDebug()<<"p:"<<p;p++;
}

关键:

    ui->plotWidget->graph(0)->addData(m,m1);ui->plotWidget->xAxis->setRange(-1,1+p);ui->plotWidget->replot();

添入数据,重新设置Range,再次刷新。

学习QCustomPlot【1】QCustomPlot介绍-CSDN博客

从官网下载下来源码后,可以编译学习人家提供的源码(位置:qcustomplot\examples\plots)

  //setupPlayground(ui->customPlot);// 0:  setupQuadraticDemo(ui->customPlot);// 1:  setupSimpleDemo(ui->customPlot);// 2:  setupSincScatterDemo(ui->customPlot);// 3:  setupScatterStyleDemo(ui->customPlot);// 4:  setupScatterPixmapDemo(ui->customPlot);// 5:  setupLineStyleDemo(ui->customPlot);// 6:  setupDateDemo(ui->customPlot);// 7:  setupTextureBrushDemo(ui->customPlot);// 8:  setupMultiAxisDemo(ui->customPlot);// 9:  setupLogarithmicDemo(ui->customPlot);// 10: setupRealtimeDataDemo(ui->customPlot);// 11: setupParametricCurveDemo(ui->customPlot);// 12: setupBarChartDemo(ui->customPlot);// 13: setupStatisticalDemo(ui->customPlot);// 14: setupSimpleItemDemo(ui->customPlot);// 15: setupItemDemo(ui->customPlot);// 16: setupStyledDemo(ui->customPlot);// 17: setupAdvancedAxesDemo(ui->customPlot);// 18: setupColorMapDemo(ui->customPlot);// 19: setupFinancialDemo(ui->customPlot);// 20: setupPolarPlotDemo(ui->customPlot);

examples提供了21种图形。

相关示例图片可以参考上面文章的图片。

可以这样写来显示各个样例。

  MainWindow w[21];for(int i=0;i<=20;i++){w[i].setupDemo(i);w[i].show();}
 setWindowTitle("QCustomPlot: "+QString::number(demoIndex)+" "+demoName);

如果工作中有需要的话,可以学习这些样例,加以改造。

太经典了。

这里学习一下demo 2。

       QCustomPlot *customPlot=ui->customPlot;customPlot->legend->setVisible(true);customPlot->legend->setFont(QFont("Helvetica",9));

       customPlot->addGraph();customPlot->graph(0)->setName("Confidence Band 68%");customPlot->graph(0)->setBrush(QBrush(QColor(255,50,30,20)));

       customPlot->graph(0)->setName("hello everyone");customPlot->graph(0)->setBrush(QBrush(QColor(255,0,255)));

       customPlot->addGraph();customPlot->graph(0)->setName("hello everyone");customPlot->graph(0)->setBrush(QBrush(QColor(255,0,255)));customPlot->addGraph();customPlot->graph(1)->setName("hello everyone111");customPlot->graph(1)->setBrush(QBrush(QColor(0,0,255)));

customPlot->xAxis->setTickLabelRotation(30);

       customPlot->xAxis->setTickLabelRotation(60);

感觉这个api网站应该比较使用

Data Structures

为刻度标签中的数字设置数字格式。

这个formatCode是QString::number()和QLocale::toString()使用的格式代码的扩展版本。

有关这方面的参考,请参阅QString类详细描述中的“参数格式”部分。

formatCode是一个由一个、两个或三个字符组成的字符串。 

第一个字符与Qt使用的正常格式代码相同。

e/E:科学格式

f:固定格式

g/G:科学格式或固定格式

对于e、E和f格式,setNumberPrecision设置的精度表示小数点后的位数。

对于g和G格式,精度表示有效数字的最大数目,后面的零被省略。

对于QCustomPlot来说,第二个和第三个字符是可选的。
如果第一个字符是“e”或“g”,则数字可能以科学格式显示,

例如:“5.55 e9”,在plot中这有点丑。

因此,当formatCode的第二个字符被设置为'b'(表示“美丽”)时,这些指数将以更自然的方式格式化,即"5.5[乘号]10[上标]9"。

默认情况下,乘法号是居中点。

如果应该显示一个叉(在美国通常是这样),则可以将formatCode的第三个字符设置为'c'。

乘法号:UTF-8字符中:215 (0xD7)表示叉,183 (0xB7)表示点。

formatCode的示例:

g:正常格式。如果数字小,使用固定格式,如果数字大,使用科学格式。
gb :如果数字小,使用固定格式,如果数字大,使用科学格式,用漂亮的十进制小数和一个点作为乘法符号。
ebc :所有的数字都是科学格式,有漂亮的十进制和一个叉作为乘法号。
fb: 非法格式代码,因为固定格式不支持(或不需要)漂亮的十进制小数。格式代码将被简化为'f'。
hello :非法格式代码,因为第一个字符不是'e', 'e', 'f', 'g'或'g'。当前的格式代码将不会被更改。

       customPlot->xAxis->setNumberFormat("ebc");

 

这篇关于QCustomplot---动态图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/994143

相关文章

Qt6中使用qcustomplot时报错:file too big

错误描述:在qt6中使用qcustomplot时报错提示:file too big 提示是.cpp文件太大导致的,需要在.pro文件中再增加一行 QMAKE_CXXFLAGS += "-Wa,-mbig-obj"修改编译器的设置

Linux Debian12安装Peek录屏软件,录制gif动态图

一、Peek安装 在Debian 12 (codenamed “Bookworm”) 上安装 Peek 录屏软件,可以通过以下步骤进行: 1.打开终端。 2.更新系统的包索引: sudo apt update 3.安装 Peek 的依赖项: sudo apt install peek 如果你遇到问题,确保你的系统已经升级到最新版本,并且你的系统支持 Peek(例如,它运行

Qt QCustomPlot画色阶图

工作中用到QCustomPlot画曲线图和色阶图,并且在色阶图上添加文字,圆圈或者几条线段画一些图形,这里写个简单的例子把这几个功能记录一下,代码在这里:  https://download.csdn.net/download/Sakuya__/89681279https://download.csdn.net/download/Sakuya__/89681279

qt的QCustomPlot绘制实时曲线图总结

一、组件的下载 下载下来后文件如下图所示,具有丰富的例程,这个很好,注意后面要用到的c++文件和头文件,听说还有丰富的帮助文档,暂时没有时间去找,大概翻看了一下没有看到 二、拷贝.h 和c++文件到工程目录,如下图;并添加到工程目录中 三、在ui窗口中增加一个QCustomPlot绘图对象,可以用对象提升的办法 四、修改主窗口的头文件,主要增加了起始时间,一个定时器和一个绘图的槽函

【QT】qcustomplot的清除图层里表数据的方法,及错误分析

题记:ui.qcp->graph(0)->data().data()->clear();有用 ui.qcp->graph(0)->data()->clear();,无用,且软件不会报错! 更详细地讨论 QCustomPlot 中的数据清除方法。 QCPGraph::data() 返回一个 QSharedPointer<QCPGraphDataContainer>,该容器提供了对图表数据的访问。

QCustomPlot使用手册目录

QCustomPlot之开始(一) QCustomPlot之个性化外观(二) QCustomPlot之柱状图(三) QCustomPlot之层和布局(四) QCustomPlot之轴矩形和轴(五) QCustomPlot之简单动态图(六) QCustomPlot之参数曲线(七) QCustomPlot之平滑曲线上(八) QCustomPlot之平滑曲线下(九) QCustomPlot之Item(十

【QT教程】使用qcustomplot完成对图像的拖动、框选缩放、自动缩放、游标等操作

目录 1.Qt 配置qcustomplot2.图像拖拽功能3.图像框选放大4.曲线自动缩放5.图像游标6.【完整代码】将曲线抽象成一个类,以便复用 1.Qt 配置qcustomplot 首先下载qcustomplot官网(qcustomplot下载地址)下载最近的源码,我用的是2.1.1版本。下载完成后解压,得到如下文件。 将.h和.cpp文件加入到工程中 如果使用的是Qt

在Qml中使用QCustomPlot

QmlQCustomPlot 基于 QCustomPlot,一个支持在 Qml 中使用的简单包 目录 🔔工程下载🔔快速开始使用cmake构建使用qmake构建 🔔讨论🔔UML 🔔工程下载 GitHub源码下载:https://github.com/MrHulu/QmlQCustomPlot CSDN资源下载 (免费):https://do

解决Qt中QLabel控件加载动态图出现黑色背景的问题

在今天解决了昨天写的代码的一个BUG,就是在QLabel空间中加载动态图,然后绘制到背景上面出现黑色边框的问题。 在网上查了查了一些资料,主要就是设置以下的属性。 首先是设置背景透明。 m_Label->setAttribute(Qt::WA_TranslucentBackground , true); 然后再设置不允许自动填充背景就可以了。 m_L

QCustomPlot 2.0.1 源码分析

z 目录 The Layering systemQCustomPlot构成QCPLayerQCPGraphQCPAxis 绘制流程交互方式模式流程 矩形选择模式模式流程 成员变量mLayersmGraphsmCurrentLayermPlottablesxAxis, yAxis, xAxis2, yAxis2mInteractions 交互方式mSelectionRectMode 矩形选择模