/*!
\mainpage JKQTPlotter - A Qt Plotting Library
- This is an extensive library of function/data plotter classes for Qt5 (tested with Qt up to 5.15) and Qt6 (tested with Qt up to 6.3).
- This software is licensed under the term of the GNU Lesser General Public License 2.1
(LGPL 2.1) or above. See \ref licensesec for details.
- Online-Documentation (http://jkriege2.github.io/JKQtPlotter/index.html)
- Source Code Repository (https://github.com/jkriege2/JKQtPlotter)
- Tagged Releases (https://github.com/jkriege2/JKQtPlotter/releases)
\image html socialmediabanner.png
\section jkqtp_main_features Main Features
- Extensive Scientific 2D Plotting framework (JKQTPlotter / JKQTBasePlotter)
- high-quality plotting
- no other required dependencies than Qt5 or Qt6
- highly customizable axes/grids (linear/log, date/time, custom ticks ...)
- integrated LaTeX parser/renderer JKQTMathText for axis labels, ticks, notes ...
- \ref JKQTPLOTTER_USERINTERACTION "extensive user-interactions pre-programmed (several zooming modes, selecting regions, custom context menus, switch graph visibility, ...)"
- \ref jkqtbaseplotter_dataexport_print "full print and export (PDF,PNG,...) support with preview and parametrization out-the-box "
- \ref jkqtpplotter_styling "highly customizable look and feel (styling system)"
- \ref JKQTBASEPLOTTER_SYNCMULTIPLOT "supports the Qt layout system for graphs and allows to symchronize several graphs with each other "
- \ref jkqtpdatastorage "centralized data management in an internal datastore)":
- data organized by columns, can also represent image data (row-major)
- allows to reuse a column in several graphs
- \ref JKQTPDatastoreModel "access via Qt's model view framework"
- external or internal datasets
- complete with GUI (table view)
- built-in export capabilities for datatables (e.g. to CSV, SYLK, ...)
- C++ standard iterator interface
- \ref jkqtptools_math_statistics (basic statistics, boxplots, histograms, kernel density estimates, regression analysis, polynomial fitting)
- \ref jkqtplotter_elements "large variety of graphs that can be added to a plot", e.g.:
- \ref jkqtplotter_linesymbolgraphs_simple "scatter-plots" (also \ref jkqtplotter_linesymbolgraphs_param "parametrized color/size/symbol by a third data-column")
- \ref jkqtplotter_linesymbolgraphs "line graphs, step graphs", \ref jkqtplotter_barssticks "impulses"
- \ref jkqtplotter_filledgraphs "filled curves"
- \ref jkqtplotter_barssticks "barcharts (also stacked)"
- extensive support for different styles of error indicators
- \ref jkqtptools_math_parser "integrated mathematical function parser for function plots (with intelligent rendering algorithm)"
- \ref jkqtplotter_functiongraphs "line/scatter graphs can also be based on C/C++ functions instead of data series (C++11 support!)"
- \ref jkqtplotter_statgraphs "statistical plots (e.g. boxplots)"
- \ref jkqtplotter_imagelots_elements "extensive library of image plots" (inclusing different color-scale modes, RGBA-plots, overlays/masks)
- \ref jkqtplotter_imagelots_contour "contour plots"
- \ref jkqtplotter_vectorfieldgraphs "vector field plots"
- \ref jkqtplotter_geoplots "geometric forms/annotations"
- can be easily extended by deriving a new graph from JKQTPPlotElement or JKQTPGeometricPlotElement
- OPTIONAL: Interfaces to external libraries
- \ref jkqtpinterfaceopencv "OpenCV interface"
- \ref jkqtpinterfacecimg "CImg interface"
- integrated LaTeX parser/renderer JKQTMathText :
- pure C++
- no dependencies in particular no installed LaTeX required
- can be used independently of JKQTPlotter
- for more details, see: \ref jkqtmathtext
- an additional, simplified but speed-optimized plotter widget JKQTFastPlotter :
- is optimized for fast plotting, but is not as feature-rich as JKQTPlotter
- may be used independently of JKQTPlotter
- for more details, see: \ref jkqtfastplotter
- CMake-based build system, see: \ref page_buildinstructions_CMAKE
- \ref exampleTutorialProjects "extensive set of Examples and Tutorials"
- extensive doxygen-generated Online-Documentation (http://jkriege2.github.io/JKQtPlotter/index.html)
- source code hosted&developed on GitHub https://github.com/jkriege2/JKQtPlotter (including continuous integration builds: https://ci.appveyor.com/project/jkriege2/jkqtplotter/branch/master)
\section jkqtplottertic Table Of Contents
- Documentation of Major Classes:
- JKQTPlotter / JKQTBasePlotter - Extensive Scientific 2D Plotting framework
- JKQTMathText - LaTeX parser and math renderer
- JKQTFastPlotter - additional, simplified but speed-optimized plotter widget with limited capabilities
- \ref licensepage
- \ref page_buildinstructions
- \ref page_whatsnew
- \ref page_todo
- \ref exampleTutorialProjects
\image html screenshotsbanner.png
*/