我现在使用Qwt已经两年了。我喜欢它的面向对象的类,这使得很容易适应这些图和功能。 如今,QCustomPlot正变得越来越受欢迎,并与Qwt竞争。 当然我确实比较了API。但是,我对两个图书馆的有经验的用户的证词感兴趣。什么方便?什么不是?有没有陷阱?
答案 0 :(得分:13)
我不会称自己为“经验丰富”,因为我只使用Qwt几个月,而QCustomPlot只用了几个星期。话虽这么说,我的印象是:
编辑:QCustomPlot的作者aware缺少设置情节背景的功能,并承诺在即将发布的版本中添加它。
QCustomPlot和Qwt - 许可之间还有另一个重要区别。 - Qwt是LGPL,因此您可以将其链接到非GPL项目。 QCustomPlot是GPL v.3,许多人(包括我自己)发现WAY过于严格。如果您需要LGPL许可,QCustomPlot作者会邀请他联系。
EDIT2(2013年3月25日):Qwt分支机构的新版本5. *和6. *于11月出现,取消了QCustomplot“更积极发展”的优势
答案 1 :(得分:8)
我无法比较两个库,因为我只使用QCustomPlot(现在一年),但我相信我的评论可能对其他人有用。
QCustomPlot的优点:
QCustomPlot的缺点:
如果需要LGPL-ish许可,则可能没有免费选项(取决于作者的考虑)。考虑到图书馆的质量和可用性,我公司为了换取LGPL许可协议而给予的捐赠并不过分。
答案 2 :(得分:8)
绘制大量积分时。 并且用户将该点集中到整个情节。 ie(x,y轴完全被像素覆盖)
(点数=给出以下计算)
拖动情节时:
我注意到的是: 在拖动时,Qwt只会拖动绘图区域并在放下区域后绘制。 而QCustomPlot在下降之前尝试重新绘制。 (请注意,但这可以帮助QCustomPlot人员做得更好。)
此外,Qwt提供可在外部管理的原始缓冲区选项。 我能够将(QcustomPlot)150Mb降低到(Qwt)40Mb以下。 保持,
QCustomPlot强制用户将内存分配给X轴(errorbar +,errorbar-),y轴(errorbar +,errorbar-) (2 * 2 * sizeof(双))内存被浪费掉3 * 2 * sizeof(双) 即48字节中的32字节是浪费(对于1个样本),因为对于一个样本,仅Qwt需要16字节(对于x和y)。
afai明白,也可以在Qwt中实现errorbar
即使启用了抗锯齿功能,Qwt的性能也会好得多。
注意:
Qwt可以在将背景更改为白色,抗锯齿启用和网格后更好看...
经过测试:
此外,QCustomPlot在Qt4上执行相同的操作。
这些是我的发现,并且可能因条件而异。
我已切换回Qwt。 希望这有助于其他人选择。 :)
次要:
如果在某些方面我错了,请纠正我。
答案 3 :(得分:4)
<强>优点:强>
<强>缺点:强>
double
个即使只需X
和Y
QMap
来存储数据点并对其进行排序。平移和缩放非常有效,但当样本数量很大(例如1,000,000个数据点)时填充速度非常慢