基于 Qt 的图表库

网友投稿 1213 2022-10-26

基于 Qt 的图表库

基于 Qt 的图表库

简述

如果要开发一个 Qt 应用程序(C++ 或 QML),包含绘图和数据可视化,需要插入一些图表,例如:饼图、条形图或更复杂的,有什么可选的图表库呢?一起来看看。

Qt Charts

来自:Qt 官方提供基于:Qt Graphics View 框架兼容性:Qt5.7 及以上版本可直接使用;Qt5.7 之前的版本(最早只能到 Qt5.4),需要自行编译使用;更早的版本中,只能使用商业版 Qt。许可模式:长久以来都是收费的,只有商业版才可以使用,但从 Qt5.7 开始,以 GPLv3 许可(针对开源用户)提供给开源版使用。主要特点:美观、现代、性能好、易上手。。。由于使用了 Qt Graphics View 框架,因此可以很轻松地被集成到现代用户界面。而且 Qt Charts 可用作 QWidgets、QGraphicsWidget 或 QML 类型。通过选择一个图表主题,可以轻松地创建令人印象深刻的图表。主要功能:提供了一组更受欢迎、易于使用的图表组件:条形图、极坐标图、饼图、散点图、以及许多示例和主题。

KD Chart

主页:​​的解决方案基于:Qt Model-View,允许重用现有的数据模型来创建图表。兼容性:支持 Qt4 和 Qt5最新版本:KD Chart 2.6.0许可模式:基于 GPL 或商业许可,可自行选择。主要特点:用于创建业务图表,是同类中最强大的 Qt 组件。除了具有所有标准功能之外,它能够使开发人员设计和管理大量的轴,并提供复杂的定制。主要功能:提供了非常有用的甘特图(包含:Gantt charts),以及流行的图表:条形图、折线图、饼图。通过使用 KDChartWidget,可以简单地将图表集成到 Qt 应用程序。

QWT

主页:​​Widgets for Technical Applications基于:Qt Widgets兼容性:支持 Qt4 和 Qt5最新版本:Qwt 6.1.3 ,发布日期:2016/06/12许可模式:基于 LGPL 版权协议的开源项目主要特点:成熟、高效,有良好的文档,并提供了大量的示例,与大量(数千、数十万)的点工作得很好。主要功能:包含了基本的 2D 图,例如:散点图、直方图、散点图,还提供了刻度、滑块、圆盘、温度计、仪表盘等。

QCustomPlot

主页:​​Widgets兼容性:支持 Qt4.6 - Qt5.7最新版本:QCustomPlot 2.0.0-beta,发布日期:2016/09/13许可模式:源代码和软件根据 GNU GPL 许可,除非另有说明。主要特点:界面干净、简洁、小巧玲珑(只有两个源文件,没有进一步的依赖性),很容易扩展,并且有良好的文档。专注于制作好看,出版高质量的 2D 绘图、图形和图表,以及为实时可视化应用程序提供更高的性能。主要功能:提供了漂亮的 2D 图 ,例如:曲线图、趋势图、坐标图、柱状图等。

注意:可在项目中直接使用两个源文件,或预先编译成库。

QtiPlot

主页:​​的 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,由阿里开发……

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python 元组
下一篇:obj-str 一个用于将对象值序列化为字符串的小型(117b)库
相关文章

 发表评论

暂时没有评论,来抢沙发吧~