基于Qt的图表库

简介: 简述如果要开发一个 Qt 应用程序(C++ 或 QML),包含绘图和数据可视化,需要插入一些图表,例如:饼图、条形图或更复杂的,有什么可选的图表库呢?一起来看看。简述Qt ChartsKD ChartQWTQCustomPlotQtiPlot更多参考版权所有:一去丶二三里,转载请注明出处:http://blog.csdn.net/lia

简述

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

版权所有:一去丶二三里,转载请注明出处:http://blog.csdn.net/liang19890820

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

这里写图片描述

  • 主页: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

这里写图片描述

  • 主页:http://qwt.sourceforge.net/

  • 全称:Qt Widgets for Technical Applications

  • 基于:Qt Widgets

  • 兼容性:支持 Qt4 和 Qt5

  • 最新版本:Qwt 6.1.3 ,发布日期:2016/06/12

  • 许可模式:基于 LGPL 版权协议的开源项目

  • 主要特点:成熟、高效,有良好的文档,并提供了大量的示例,与大量(数千、数十万)的点工作得很好。

  • 主要功能:包含了基本的 2D 图,例如:散点图、直方图、散点图,还提供了刻度、滑块、圆盘、温度计、仪表盘等。

QCustomPlot

这里写图片描述

  • 主页:http://www.qcustomplot.com/

  • 基于:Qt Widgets

  • 兼容性:支持 Qt4.6 - Qt5.7

  • 最新版本:QCustomPlot 2.0.0-beta,发布日期:2016/09/13

  • 许可模式:源代码和软件根据 GNU GPL 许可,除非另有说明。

  • 主要特点:界面干净、简洁、小巧玲珑(只有两个源文件,没有进一步的依赖性),很容易扩展,并且有良好的文档。专注于制作好看,出版高质量的 2D 绘图、图形和图表,以及为实时可视化应用程序提供更高的性能。

  • 主要功能:提供了漂亮的 2D 图 ,例如:曲线图、趋势图、坐标图、柱状图等。

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

QtiPlot

这里写图片描述

  • 主页:http://www.qtiplot.com/

  • 基于: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,由阿里开发
    ……
目录
相关文章
|
JavaScript
Qt视频播放器[QMediaPlayer+QVideowidget]
本代码在Window10下运行,利用qMediaPlayer和qvideowidget实现视频文件mp4的播放,并且提供进度显示,还可以通过拖动进度条来变换播放位置
424 0
|
图形学 Python 容器
『PyQt5-基础篇』| 04 Qt Designer的初步快速了解
『PyQt5-基础篇』| 04 Qt Designer的初步快速了解
205 1
|
3月前
|
前端开发 API Android开发
Flutter最强大的图表库fl_chart的使用
Flutter最强大的图表库fl_chart的使用
356 1
|
6月前
|
图形学 Python 容器
【PyQt5桌面应用开发】3.Qt Designer快速入门(控件详解)
【PyQt5桌面应用开发】3.Qt Designer快速入门(控件详解)
625 0
|
11月前
|
Dart
Flutter笔记:完全基于Flutter绘图技术绘制一个精美的Dash图标(中)
完全基于Flutter绘图技术绘制一个精美的Dash图标(中)
69 0
|
11月前
|
Dart
Flutter笔记:完全基于Flutter绘图技术绘制一个精美的Dash图标(上)
完全基于Flutter绘图技术绘制Dart语言吉祥物(Dash)-上
60 0
|
程序员 Python
Python Qt GUI设计:5种事件处理机制(提升篇—3)
之前在Python Qt GUI设计:QTimer计时器类、QThread多线程类和事件处理类(基础篇—8)中,我们已经简单讲到,PyQt为事件处理提供了两种机制:高级的信号与槽机制以及低级的事件处理程序,本篇博文将系统讲解Qt的事件处理机类和制。
|
前端开发 搜索推荐 JavaScript
前端封装库/工具库的组件库之Material UI
随着互联网时代的到来,Web应用程序的用户界面设计和开发变得越来越重要。为了更好地完成这项任务,前端封装库/工具库的出现成为一个非常好的解决方案。其中一款备受关注的UI组件库是Material UI。
804 0
|
Python 容器
Python高级进阶#014 pyqt5滑块控件QSlider应用
Python高级进阶#014 pyqt5滑块控件QSlider应用
273 0