一.功能介绍
Qwt、QChart和QCustomPlot是Qt框架下的三个绘图库,它们各有特点,适用于不同的应用场景。
-
Qwt:是一个提供科学相关背景下的图表绘制的GUI元件库。它主要提供了一些基本的二维绘图部件,例如函数图、柱状图、温度计、转轮式的控件,并具有缩放、移动等功能。Qwt支持任何Qt能够支持的系统环境,并且可以兼容Qt4(4.4版本以上)和Qt5版本。Qwt具有较为完善的文档和丰富的实例程序,可以用来作为开发时的参考。在Qwt的最新版本中,提供了一些新的绘图控件,例如在线性坐标和对数坐标间转换的函数,重新设计的旋钮控件和滑动控件等,还提供了对OpenGL的基本支持。
-
QChart:是Qt图表使用图形视图框架以便于集成。QChart类管理不同类型的系列和其他图表相关对象(如图例和轴)的图形表示。QChart是一个QGraphicScene中可以显示的QGraphicsWidget。更简单的解决方案是使用方便类QChartView而不是QChart在布局中显示图表。在QML中,使用ChartView类型显示图表。通过使用QPolarChart类(QChart类的专门化)或polar ChartView QML类型(ChartView类型的专门化),某些图表组件也可以表示为极坐标图。可以通过使用主题、修改颜色和属性、隐藏图表组件或设置图表动画来自定义图表的外观。模型映射器允许使用从QAbstractItemModel类派生的数据模型作为图表的数据源。
-
QCustomPlot:是QT下一个方便易用的绘图工具,该绘图库专注于制作美观,出版品质的2D图表。它可以导出为各种格式,如矢量化的PDF文件和光栅化图像,如PNG,JPG和BMP。
总的来说,这三个库分别适用于不同的应用场景。Qwt主要适用于科学相关的图表绘制,QChart可以创建各种类型的图形视图,而QCustomPlot则专注于制作美观的2D图表。
二.对比
美观方面:
Qcustomplot≈Qchart > Qwt
Qcustomplot界面简洁大方;
Qchart界面华丽优美,其中QChart中绘制的线条处不能使用鼠标,所以在数据量大的时候会引响鼠标的缩放、移动图表操作;
Qwt界面老旧,在美观上不如Qcustomplot和Qchart ,并且在使用鼠标移动图表时会产生空白区域。
*性能方面:*
*绘制数据性能:Qcustomplot > Qwt≈Qchart*
*测试条件:*
*处理器: 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做到实时刷新曲线一千万点是没有问题的,甚至设计合理还能做到更高。**
Ref
https://blog.csdn.net/xieliru/article/details/134831552 https://qwt.sourceforge.io/