/*!

\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.
- <a href="http://jkriege2.github.io/JKQtPlotter/index.html">Online-Documentation (http://jkriege2.github.io/JKQtPlotter/index.html)</a>
- <a href="https://github.com/jkriege2/JKQtPlotter">Source Code Repository (https://github.com/jkriege2/JKQtPlotter)</a>
- <a href="https://github.com/jkriege2/JKQtPlotter/releases">Tagged Releases (https://github.com/jkriege2/JKQtPlotter/releases)</a>
 
\image html socialmediabanner.png

\section jkqtp_main_features Main Features
- <b>Extensive Scientific 2D Plotting framework (JKQTPlotter / JKQTBasePlotter)</b>
  - 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 "
- <b>\ref jkqtpdatastorage "centralized data management in an internal datastore)":</b>
  - 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)
- <b>\ref jkqtplotter_elements "large variety of graphs that can be added to a plot", e.g.:</b>
  - \ref jkqtplotter_linesymbolgraphs_scatter "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_sticks "impulses"
  - \ref jkqtplotter_filledgraphs "filled curves"
  - \ref jkqtplotter_barcharts "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_financialgraphs "financial charts (candlestick, OHLC, ...)
  - \ref jkqtplotter_geoplots "geometric forms/annotations"
  - can be easily extended by deriving a new graph from JKQTPPlotElement or JKQTPGeometricPlotElement
- <b>OPTIONAL: Interfaces to external libraries</b>
  - \ref jkqtpinterfaceopencv  "OpenCV interface"
  - \ref jkqtpinterfacecimg  "CImg interface"
- <b>integrated LaTeX parser/renderer JKQTMathText :</b>
  - pure C++ 
  - no dependencies in particular no installed LaTeX required
  - can be used independently of JKQTPlotter
  - for more details, see: \ref jkqtmathtext
- <b>an additional, simplified but speed-optimized plotter widget JKQTFastPlotter :</b>
  - 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 <a href="http://jkriege2.github.io/JKQtPlotter/index.html">Online-Documentation (http://jkriege2.github.io/JKQtPlotter/index.html)</a>
- source code hosted&developed on GitHub <a href="https://github.com/jkriege2/JKQtPlotter">https://github.com/jkriege2/JKQtPlotter</a> (including continuous integration builds: <a href="https://ci.appveyor.com/project/jkriege2/jkqtplotter/branch/master">https://ci.appveyor.com/project/jkriege2/jkqtplotter/branch/master</a>)

\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 



\link exampleTutorialProjects &nbsp; \image html examplesbanner.png "" \endlink

*/