简述
如果要开发一个 Qt 应用程序(C++ 或 QML),包含绘图和数据可视化,需要插入一些图表,例如:饼图、条形图或更复杂的,有什么可选的图表库呢?一起来看看。
版权所有:一去丶二三里,转载请注明出处:http://blog.csdn.net/liang19890820
Qt Charts
来自:Qt 官方提供
基于:Qt Graphics View 框架
兼容性:Qt5.6 及以上版本可直接使用;Qt5.6 之前的版本(最早只能到 Qt5.4),需要自行编译使用;更早的版本中,只能使用商业版 Qt。
许可模式:长久以来都是收费的,只有商业版才可以使用,但从 Qt5.6 开始,以 GPLv3 许可(针对开源用户)提供给开源版使用。
主要特点:美观、现代、性能好、易上手。。。由于使用了 Qt Graphics View 框架,因此可以很轻松地被集成到现代用户界面。而且 Qt Charts 可用作 QWidgets、QGraphicsWidget 或 QML 类型。通过选择一个图表主题,可以轻松地创建令人印象深刻的图表。
主要功能:提供了一组更受欢迎、易于使用的图表组件:条形图、极坐标图、饼图、散点图、以及许多示例和主题。
KD Chart
主页:http://www.kdab.com/development-resources/qt-tools/kd-chart/
来自:KDAB 的解决方案
基于:Qt Model-View,允许重用现有的数据模型来创建图表。
兼容性:支持 Qt4 和 Qt5
最新版本:KD Chart 2.6.0
许可模式:基于 GPL 或商业许可,可自行选择。
主要特点:用于创建业务图表,是同类中最强大的 Qt 组件。除了具有所有标准功能之外,它能够使开发人员设计和管理大量的轴,并提供复杂的定制。
主要功能:提供了非常有用的甘特图(包含:Gantt charts),以及流行的图表:条形图、折线图、饼图。通过使用 KDChartWidget,可以简单地将图表集成到 Qt 应用程序。
QWT
全称:Qt Widgets for Technical Applications
基于:Qt Widgets
兼容性:支持 Qt4 和 Qt5
最新版本:Qwt 6.1.3 ,发布日期:2016/06/12
许可模式:基于 LGPL 版权协议的开源项目
主要特点:成熟、高效,有良好的文档,并提供了大量的示例,与大量(数千、数十万)的点工作得很好。
主要功能:包含了基本的 2D 图,例如:散点图、直方图、散点图,还提供了刻度、滑块、圆盘、温度计、仪表盘等。
QCustomPlot
基于:Qt Widgets
兼容性:支持 Qt4.6 - Qt5.7
最新版本:QCustomPlot 2.0.0-beta,发布日期:2016/09/13
许可模式:源代码和软件根据 GNU GPL 许可,除非另有说明。
主要特点:界面干净、简洁、小巧玲珑(只有两个源文件,没有进一步的依赖性),很容易扩展,并且有良好的文档。专注于制作好看,出版高质量的 2D 绘图、图形和图表,以及为实时可视化应用程序提供更高的性能。
主要功能:提供了漂亮的 2D 图 ,例如:曲线图、趋势图、坐标图、柱状图等。
注意:可在项目中直接使用两个源文件,或预先编译成库。
QtiPlot
基于:OpenGL 的 3D 绘图
兼容性:支持 Qt4 和 Qt5
最新版本:QtiPlot 0.9.9.8 release 版,发布日期:2016/12/12
许可模式:基于 GPL 或商业许可,可自行选择。
主要特点:用于交互式科学绘图和数据分析,类似于专有程序 Origin 或 SigmaPlot,在大学中被广泛使用。
主要功能:支持 2D 和 3D 绘图,具有一些高级功能,例如:统计分析、曲线拟合、图像分析工具。
注意:虽然 QtiPlot 开源免费,但是免费指的是它的源代码,其编译好的二进制代码(也就是可执行文件)是收费的,因此,如果你不想支付费用的话,则可以使用 GPL 许可,自己编译。
更多参考
对于上述的图表库,几乎都可以导出为各种格式,例如:PDF、SVG、Images(bmp、ico、jpeg、png……)等。
由于 Qt 5.7 集成了以前用于商业的 Qt Charts,使其可用于 LGPLv3 许可下的开源版,这使得 Qt Charts 更受欢迎。。。小伙伴们,赶快行动吧,还在等什么!
图表库太多,除了这些之外,还有一些其他的库(例如:ChartDirector)。当然,我们还可以选择强大的 JS 图表库,例如:
- Highcharts - 国外
- ECharts - Enterprise Charts,由百度开发
- G2 - The Grammar Of Graphics,由阿里开发
……