QT中Qwt、QChart、QCustomPlot使用与性能对比

推荐一个不错的人工智能学习网站,通俗易懂,内容全面,作为入门科普和学习提升都不错,分享一下给大家:https://www.captainbed.cn/ai

一.功能介绍

Qwt、QChart和QCustomPlot是Qt框架下的三个绘图库,它们各有特点,适用于不同的应用场景。

1. Qwt:是一个提供科学相关背景下的图表绘制的GUI元件库。它主要提供了一些基本的二维绘图部件,例如函数图、柱状图、温度计、转轮式的控件,并具有缩放、移动等功能。Qwt支持任何Qt能够支持的系统环境,并且可以兼容Qt4(4.4版本以上)和Qt5版本。Qwt具有较为完善的文档和丰富的实例程序,可以用来作为开发时的参考。在Qwt的最新版本中,提供了一些新的绘图控件,例如在线性坐标和对数坐标间转换的函数,重新设计的旋钮控件和滑动控件等,还提供了对OpenGL的基本支持。

2. QChart:是Qt图表使用图形视图框架以便于集成。QChart类管理不同类型的系列和其他图表相关对象(如图例和轴)的图形表示。QChart是一个QGraphicScene中可以显示的QGraphicsWidget。更简单的解决方案是使用方便类QChartView而不是QChart在布局中显示图表。在QML中,使用ChartView类型显示图表。通过使用QPolarChart类(QChart类的专门化)或polar ChartView QML类型(ChartView类型的专门化),某些图表组件也可以表示为极坐标图。可以通过使用主题、修改颜色和属性、隐藏图表组件或设置图表动画来自定义图表的外观。模型映射器允许使用从QAbstractItemModel类派生的数据模型作为图表的数据源。

3. QCustomPlot:是QT下一个方便易用的绘图工具,该绘图库专注于制作美观,出版品质的2D图表。它可以导出为各种格式,如矢量化的PDF文件和光栅化图像,如PNG,JPG和BMP。

总的来说,这三个库分别适用于不同的应用场景。Qwt主要适用于科学相关的图表绘制,QChart可以创建各种类型的图形视图,而QCustomPlot则专注于制作美观的2D图表。

二.对比

美观方面:

Qcustomplot≈Qchart > Qwt

Qcustomplot界面简洁大方;

Qchart界面华丽优美,其中QChart中绘制的线条处不能使用鼠标,所以在数据量大的时候会引响鼠标的缩放、移动图表操作;

Qwt界面老旧,在美观上不如Qcustomplot和Qchart ,并且在使用鼠标移动图表时会产生空白区域。

性能方面:

绘制数据性能:Qcustomplot > QwtQchart

测试条件:

处理器: Intel(R) Core(TM) i7-10700 CPU @ 2.90GHz

QT版本:QT5.12

画曲线:折线图

qcustomplot:10万平均耗时14ms,50万点平均耗时18ms,125万点平均耗23ms;1250万点平均耗时104ms 12500万点平均耗时960ms

qchart:10万平均耗时12ms,50万点平均耗时17ms,125万点平均耗24ms;1250万点平均耗时140ms

Qwt:10万点平均耗时3ms,125万点平均耗时24ms,1250万点平均耗时150ms;

综上,在画折线图的性能方面qcustomplot是最优选择。

功能方面:

QChart、Qwt功能比较齐全,并且可绘制图表种类多;

qcustomplot在图表种类上、常用功能上较少。

使用方面:

QChart无需配置,主要在安装Qt时勾选就可以,在程序编写时上手较慢,许多功能需要重写;

Qwt安装配置比较复杂;

QCustomPlot体积小、简单易用,上手快,并且QCustomPlot只有两个源文件,可直接添加进工程,更容易直接修改源码。

三.Qcustomplot

官网下载地址:https://www.qcustomplot.com/index.php/download

  • 结论

对比三个绘图库,qcustomplot在绘制大量点的二维曲线上性能优势明显,通过qcustomplot程序合理使用(包括开启硬件加速)及针对项目需求的优化,在实际项目应用中应用qcustomplot做到实时刷新曲线一千万点是没有问题的,甚至设计合理还能做到更高。

博主在项目中就做到了1250万点的实时曲线刷新,同时还做了曲线的实时频谱分析并绘制频曲线图,如果有对提升曲线绘图效率感兴趣的人可以留言进一步沟通~

  • 20
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
### 回答1: qchart、qcustomplotqwt都是用于绘制图表的Qt库。 qchart是Qt自带的图表库,可以绘制基本的线图、柱状图、饼图等,支持交互和动画效果。 qcustomplot是一个第三方的Qt图表库,提供了更多的图表类型和自定义功能,可以绘制高级的科学图表、统计图表等。 qwt也是一个第三方的Qt图表库,提供了更多的图表类型和自定义功能,可以绘制高级的科学图表、统计图表等,同时还提供了数据采集、处理和显示的功能。 总的来说,qchart是最基础的图表库,qcustomplotqwt则提供了更多的功能和灵活性。选择哪个库取决于具体的需求和使用场景。 ### 回答2: QChart、QCustomPlotQwt都是在Qt平台上开发的图表绘制库,主要用于绘制各种类型的图表。它们之间的区别在以下几个方面: 一、功能方面: 1.QChart是QT公司自家的图表绘制库,从Qt5开始推出。它提供了基本的图表类型(如折线图、柱状图、饼图等)和一些高级特性(如图例、坐标轴、标签等)。 2.QCustomPlot是一个第三方的开源库,功能比较全面,可以绘制各种类型的图表(如散点图、波形图、色彩映射图等),同时也提供了许多高级特性(如拖动、选、缩放等)。 3.Qwt也是一个第三方的开源库,在绘图上比QChart和QCustomPlot的功能更加强大,可以绘制各种类型的图表(如XY、极坐标、3D图等)和符号(如线条、曲线、点、箭头等)。 二、易用性方面: 1.QChart使用简单,提供了使用QPainter绘制的图形元素。但它的图表类型较为基础,不支持自定义图形元素的绘制。 2.QCustomPlot使用需要掌握一些基本的绘图技能,但它提供了大量的示例代码和丰富的文档,使得开发过程更加便利。 3.Qwt使用一般需要掌握更加高级的技能,需要花费比较长的时间来学习它的使用,但是一旦熟练掌握后,可以方便地绘制各种类型的图表和符号。 三、绘图质量方面: 1.QChart的图表绘图质量较好,能够绘制出较为清晰的图表。 2.QCustomPlot绘图质量相当高,在绘制曲线图和等高线图等高级图形时具有很好的优势。 3.Qwt是最优秀的绘图库之一,绘图质量较高,几乎可以绘制所有关于图表方面的图形。 综上所述,对于初学者而言,QChart是最好的选择。对于有一定绘图基础和对图表掌握较好的开发者而言,QCustomPlotQwt都是不错的选择,但由于Qwt使用较为复杂,所以QCustomPlot比较适合入门和快速开发。 ### 回答3: QChart、QCustomPlotQwt都是用于Qt图形绘制的库,但它们有不同的设计理念和使用方式。 首先,QChart是Qt自带的图表绘制类,使用简单且易于学习,它提供了基本的图表类型和样式、数据系列管理、坐标轴管理等功能。在Qt 5.7以前,QChart只支持使用QChartView进行渲染展示,无法直接使用QWidget或QGraphicsView,但在后来的版本,QChart已经支持了更多的展示方式。QChart适合于简单的数据可视化和快速开发。 其次,QCustomPlot是一个开源的C++绘图库,它提供了丰富的绘图类型和高度定制的展示方式。QCustomPlot的设计思想是,将绘图和界面分离,通过自定义绘图对象、图层管理、绘图数据管理、坐标轴管理等方式,实现高度自由的数据可视化。QCustomPlot使用复杂度相对较高,需要熟悉C++和Qt的相关开发技术,但是可以实现非常复杂的数据展示效果。 最后,Qwt是一个面向科学和工程领域的开源C++图表库,它提供了广泛的图表类型和丰富的展示选项。与QCustomPlot类似,Qwt的设计思想是将图形展示与数据分离,通过自定义绘图对象、数据管理、坐标轴管理等方式,支持高度自由的展示效果。Qwt也需要熟悉C++和Qt开发技术,但是它更加适合于科学计算等领域。 总之,QChart、QCustomPlotQwt都是非常优秀的Qt图表库,它们的使用适合不同的场景和需求,选择合适的库可以有效地提高开发效率和数据展示效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI+程序员在路上

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值