Tuesday, August 18, 2015

Qt charts: available options

What possibilities do you have if you develop a Qt application (C++ or QML) and you need to insert a nice chart like pie chart or bar chart or something more complicated? Let's look at some of the options:

1) Of course, Qt Charts module - solution from Qt Company itself. It provides the most popular types of charts: bar chart, polar chart, pie chart, scatter scart, as well as many examples and themes. Significant drawback is that it is not included into open-source version of Qt. But if you have commercial license, it is free for you.

2) KD Chart - solution from KDAB, nice one, they have Gantt chart which can be useful as well as popular charts: bar chart, line chart, pie chart. You can simply integrate their charts into your Qt application by using KDChartWidget which is ready to use. Licensing model is GPL or commercial license, you choose.

3) Qwt - library for usage in programs with scientific or techical background mainly. Compatible with Qt 4 and Qt 5 both. It contains basic 2D plots such as scatter plot, histogram, scatter plot. Also provides scales, sliders, thermometers, etc. Works well with large number of points (thousands and hundreds of thousands of points). Qwt is distibuted under its own Qwt license which is basically LGPL (Lesser GPL) with some restrictions.

4) QCustomPlot - Qt C++ widget supporting 2D plots with possibility of export to PDF and image formats like JPG, PNG or BMP. It is licensed under GPL or you can buy commercial license. Besides basic plots it also supports statistical and financial plots.

5) QtiPlot - cross platform solution intended mainly for scientific work. Supports both 2D and 3D plots, has some advanced features like statistical analysis, curve fitting, image analysis tools. If you are downloading binaries, you will need commercial license but you can use GPL license if you compile source code yourself.

IMPORTANT UPDATE: since Qt 5.7 will be released previously commercial only Qt Charts will be available under LGPLv3 license for open source users. This should probably make Qt Charts more popular.