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");

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/13162.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

简单聊聊分布式和集群

前言 分布式和集群&#xff0c;我们都听的比较多&#xff0c;分布式系统和集群的概念对于刚进入职场的小伙伴可能不是很清楚&#xff0c;这篇文章我们就一起看看两者到底是什么&#xff0c;有什么区别。 什么是分布式系统&#xff1f; 先看下书面解释&#xff1a; 分布式系统…

Milvus的系统架构

简介 Milvus的构建在许多知名的向量搜索库比如Faiss, HNSW, DiskANN, SCANN等之上的&#xff0c;它针对稠密向量数据集的相似搜索而设计&#xff0c;能支持百万、十亿甚至万亿级别的向量搜索。 Milvus支持数据分片&#xff0c;流式数据插入&#xff0c;动态schema&#xff0c…

STM32手写寄存器的方式实现点亮LED灯

这次是从头开始学习STM32&#xff0c;看野火的视频开始学习&#xff0c;感觉需要记录的时候就要记录一下学习的心得。野火视频学习的老师讲的还是很到位的&#xff0c;能够学习到很多的细节之处&#xff0c;有时会感觉很啰嗦&#xff0c;但是不得不说确实很详细&#xff0c;只有…

线程池 ThreadPool

一般情况下我们都使用Thread类创建线程&#xff0c;因为通过Thread对象可以对线程进行灵活 的控制。但过多创建线程和销毁线程&#xff0c;会消耗掉大量的内存和CPU资源&#xff0c; 假如某段时间内突然爆发了100个短小的线程&#xff0c;创建和销毁这些线程就会消耗很多时间&a…

SAP_ABAP-思考篇

作为一个SAP十年左右的从业者&#xff0c;其实我很清楚&#xff0c;我自身的能力&#xff0c;确实是很多东西都会一点&#xff0c;但是没有一样是精通的。坦白来说&#xff0c;我的个人简介里&#xff0c;虽然也不算夸大&#xff0c;但我估计有些新手小白看着可能会觉得还挺厉害…

【氮化镓】高电容密度的p-GaN栅电容在高频功率集成中的应用

这篇文章是香港科技大学Kevin J. Chen等人与台积电M.-H. Kwan等人关于高电容密度的p-GaN栅电容在高频功率集成中的应用研究。 文章详细介绍了p-GaN栅电容的设计、特性和在高频功率集成中的应用。通过实验数据和理论分析&#xff0c;文章展示了p-GaN栅电容在实现高电容密度、低…

2.前端路由的配置和使用

一&#xff0c;路由的作用 路由的作用就是将页面文件跟URL地址形成对应匹配 二&#xff0c;如何安装路由 这里我们采用pnpm的方式在项目中执行 pnpm install vue-routernext --save三&#xff0c;路由如何使用 首先创建一个我们需要访问的页面文件&#xff0c;这里我先创建…

二.使用PgAdmin连接Postgresql

二.使用PgAdmin连接Postgresql PostgreSQL是一种开源的对象关系型数据库管理系统(ORDBMS),它支持大部分SQL标准并提供了许多高级功能,例如事务、外键、视图、触发器等。PostgreSQL由PostgreSQL全球开发组维护和开发,它是一种高度可扩展的数据库系统,可以在各种操作系统…

web学习笔记(五十五)

目录 1. 配置代码片段的步骤 2. 条件判断 2.1 v-if、v-else、v-else-if 2.2 v-show 2.3 v-show和v-if的区别 1. 配置代码片段的步骤 在Visual Studio Code中我们可以将常用的代码配置成代码片段&#xff0c;这样就可以在页面上快速输入大段代码了。 &#xff08;1&#…

22 优化日志文件统计程序-按月份统计每个用户每天的访问次数

读取任务一中序列文件&#xff0c;统计每个用户每天的访问次数&#xff0c;最终将2021/1和2021/2的数据分别输出在两个文件中。 一、创建项目步骤&#xff1a; 1.创建项目 2.修改pom.xml文件 <packaging>jar</packaging> <dependencies><dependency>…

HNU-算法设计与分析-作业1

算法设计与分析 计科210X 甘晴void 202108010XXX 前言 这个系列本来想只用一个博客搞定的&#xff0c;谁曾想CSDN对于大批量文字的在线编辑一塌糊涂&#xff0c;感觉走倒车了。只能分成几个博客分别来讲了。后续会有作业-23456。作业重要的是搞懂原因。 文章目录 算法设计与…

【数据结构】时间、空间复杂度实例分析

跌倒了&#xff0c;就重新站起来&#xff0c;继续向前走&#xff1b;傻坐在地上是没用的。&#x1f493;&#x1f493;&#x1f493; 目录 •✨说在前面 &#x1f34b;知识点一&#xff1a;算法的效率 • &#x1f330;1.斐波那契数列的第n项 • &#x1f330;2.算法的复杂度…

001_PyQt简介

本系列面向零基础小白&#xff0c;从零开始到Pyqt 进行项目实战。 什么叫从零开始&#xff1f;从软件安装、环境配置开始。 不跳过一个细节&#xff0c;不漏掉一行代码&#xff0c;不省略一个例图。 PyQt作为一个强大的工具包&#xff0c;成功地将脚本语言python和QT库融合到…

nginx反向代理kafka集群实现内外网隔离访问 —— 筑梦之路

背景说明 我们在使用Kafka客户端连接到Kafka集群时&#xff0c;即使连接的节点只配置了一个集群的Broker地址&#xff0c;该Broker将返回给客户端集群所有节点的信息列表。然后客户端使用该列表信息&#xff08;Topic的分区信息&#xff09;再与集群进行数据交互。这里Kafka列表…

当CV遇上transformer(三)Clip模型及源码分析

当CV遇上transformer(三)Clip模型及源码分析 2020年10月&#xff0c;Dosovitskiy首次将纯Transformer的网络结构应用于图像分类任务中(ViT)&#xff0c;并取得了当时最优的分类效果&#xff0c;其研究成果是Transformer完全替代标准卷积的首次尝试。随着谷歌提出ViT之后&#…

Python 全栈体系【四阶】(四十五)

第五章 深度学习 十、生成对抗网络&#xff08;GAN&#xff09; 1. 图像生成技术概述 1.1 什么是图像生成技术 图像生成技术是指利用机器学习或深度学习等人工智能技术&#xff0c;通过训练模型来生成逼真的图像。这些技术可以根据给定的输入&#xff0c;生成与真实图像相似…

反序列化漏洞【1】

1.不安全的反序列化漏洞介绍 序列化&#xff1a;将对象转换成字符串&#xff0c;目的是方便传输&#xff0c;关键词serialize a代表数组&#xff0c;数组里有三个元素&#xff0c;第一个元素下标为0&#xff0c;长度为7&#xff0c;内容为porsche&#xff1b;第二个元素下标为1…

GPT-4o API 全新版本发布:提升性能,增加性价比

5月13日&#xff0c;OpenAI 发布了全新ChatGPT模型 GPT-4o&#xff0c;它在响应速度和多媒体理解上都有显著提升。在这篇文章中&#xff0c;我们将介绍 GPT-4o 的主要特点及其 API 集成方式。 什么是 GPT-4o&#xff1f; GPT-4o 是 OpenAI 于5月13日发布的最新多模态 AI 模型…

【简单介绍下在Ubuntu中如何设置中文输入法】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

国产化数据库_金仓_Linux版Docker版部署过程及简单使用

国产化数据库金仓Linux版部署过程 文档参考&#xff1a;https://help.kingbase.com.cn/v8/install-updata/install-linux/install-linux-3.html#id12 以下安装是在Centos7系统下进行 0.安装包准备 找到你的操作系统对应的平台所支持的软件包下载&#xff0c;我这里下载的是x…