Data Visualization in C++ (To use QCustomPlot or not to use QCustomPlot?!)
-
I'm creating a processing tool with a GUI and want to create data plots not just for final product visualization in my GUI but for general visualization reasons while i'm writing and debugging code. I've researched c++ data visualization tools to use with Qt Creator and from what i've found one option stands out to me QCustomPlot link text. I honestly have just two questions I could really use some clarification on. Please be so kind to elaborate on my first question as I'm having a really hard time wrapping my head around this.
Question 1:
As a frequent user of matplotlib in Python and the built-in plotting tool of Matlab I'm having a hard time understanding the terminology of "Widget" that's defined in QCustomPlot. How is this different/similar to the plotting tools used in Python and Matlab?Question 2:
Is there some other tool I should be using? -
Hi @regnar86,
Question 1:
As a frequent user of matplotlib in Python and the built-in plotting tool of Matlab I'm having a hard time understanding the terminology of "Widget" that's defined in QCustomPlot."Widget" simply means "GUI component". A button is a widget, a checkbox is a widget, a drop-down menu is a widget, a graph is a widget, etc. Here's a list of widgets in Qt: http://doc.qt.io/qt-5/widget-classes.html
NOTE: matplotlib has widgets too! http://matplotlib.org/examples/widgets/index.html
How is this different/similar to the plotting tools used in Python and Matlab?
It's best to compare example code and see for yourself:
- matplotlib example: http://matplotlib.org/examples/pylab_examples/simple_plot.html
- Qt Charts example: http://doc.qt.io/qt-5/qtcharts-linechart-example.html
Question 2:
Is there some other tool I should be using?Here are some alternatives to QCustomPlot:
- Qt Charts (2D), official
- Qt Data Visualization (3D), official
- Qwt (2D)
NOTE: Qt Charts and Qt Data Visualization required a commercial license in the past, but they are now available under the GPL 3.0 license. Qwt is available under the Qwt 1.0 license (based on LGPL 2.1)