JKQtPlotter/doc/dox/mainpage.dox
2024-02-12 15:01:46 +01:00

80 lines
5.4 KiB
Plaintext

/*!
\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
*/