JKQtPlotter/doc/dox/examples_and_tutorials.dox
2019-01-19 16:13:08 +01:00

129 lines
7.5 KiB
Plaintext

/*!
\page exampleTutorialProjects Example & Tutorial Projects
This section assembles some simple examples of usage.
You can find more (complex) examples for the classes in this repository in the subfolder "test".
All test-projects are Qt-projects that use qmake to build. You can load them into QtCreator easily.
\section jkqtp_extut Overview of Examples&Tutorials
\subsection jkqtp_extut_plotstyles Different Plot Data Styles
<table>
<tr><th>Screenshot<th>Description<th>Notes
<tr><td> \image html jkqtplotter_simpletest1_small.png
<td> \subpage JKQTPlotterSimpleTest
<td> `JKQTPxyLineGraph` <br> C++-style QVector arrays of data
<tr><td> \image html jkqtplotter_simpletest_speed_small.png
<td> \subpage JKQtPlotterSpeedTest
<td> `JKQTPxyLineGraph` <br> external `std::array<double,N>` data, not owned by datastore <br> live-data, measure plotting speed <br> tipps to increas plotting speed
<tr><td> \image html jkqtplotter_simpletest_symbols_and_styles_small.png
<td> \subpage JKQtPlotterSymbolsAndStyles
<td> `JKQTPxyLineGraph` <br> C++ vector of data <br> setting line styles and symbol styles <br> automatic graph coloring
<tr><td> \image html jkqtplotter_simpletest_stepplots_small.png
<td> \subpage JKQtPlotterStepPlot
<td> `JKQTPstepHorizontalGraph` (and `JKQTPxyLineGraph`) <br> C++ vector of data <br> different step modes, filled and line-only
<tr><td> \image html jkqtplotter_simpletest_symbols_and_errors_small.png
<td> \subpage JKQtPlotterSymbolsErrors
<td> `JKQTPxyLineErrorGraph` <br> C-style arrays of data
<tr><td> \image html jkqtplotter_simpletest_errorbarstyles_small.png
<td> \subpage JKQtPlotterErrorBarStyles
<td> `JKQTPxyLineErrorGraph` <br> different styles of error indicators for x- and y-errors <br> C++-style QVector for data <br> styling error indicators <br> moving key and formatting plotter grid
<tr><td> \image html jkqtplotter_simpletest_barchart_small.png
<td> \subpage JKQtPlotterBarcharts
<td> `JKQTPbarVerticalGraph` <br> C-style arrays of data
<tr><td> \image html JKQTPbarHorizontalGraphStacked_small.png
<td> \subpage JKQtPlotterStackedBarChart
<td> `JKQTPbarVerticalStackableGraph`, `JKQTPbarHorizontalStackableGraph` <br> C++-style vectors of data
<tr><td> \image html jkqtplotter_simpletest_filledgraphs_small.png
<td> \subpage JKQtPlotterFilledGraphs
<td> `JKQTPbarVerticalGraph` <br> setting/altering data in `JKQTPdatstore` directly <br> transparent plots <br> calculating histograms
<tr><td> \image html jkqtplotter_simpletest_impulsesplot_small.png
<td> \subpage JKQtPlotterImpulsePlots
<td> `JKQTPimpulsesVerticalGraph` and `JKQTPimpulsesHorizontalGraph` <br> C++-style QVector as plot data
<tr><td> \image html jkqtplotter_simpletest_paramscatterplot_small.png
<td> \subpage JKQtPlotterParamScatter
<td> `JKQTPxyParametrizedScatterGraph` <br> C++-style QVector as plot data <br> modify scatter/points/line-graph properties by data
<tr><td> \image html jkqtplotter_simpletest_paramscatterplot_image_small.png
<td> \subpage JKQtPlotterParamScatterImage
<td> `JKQTPxyParametrizedScatterGraph` <br> C++-style QVector as plot data <br> rectangular arrangement of scatters <br> generative computer graphics
<tr><td> \image html jkqtplotter_simpletest_parametriccurve_small.png
<td> \subpage JKQtPlotterParametricCurves
<td> `JKQTPxyLineGraph` and `JKQTPxyParametrizedScatterGraph` <br> C++-style QVector as plot data <br> parametric curve plotting
<tr><td> \image html jkqtplotter_simpletest_functionplot_small.png
<td> \subpage JKQtPlotterFunctionPlots
<td> `JKQTPxFunctionLineGraph` <br> diretly plotting C/C++-functions
<tr><td> \image html jkqtplotter_simpletest_parsedfunctionplot_small.png
<td> \subpage JKQtPlotterParsedFunctionPlot
<td> `JKQTPxParsedFunctionLineGraph` <br> plotting functions with the internal math equation parser/evaluator
<tr><td> \image html jkqtplotter_simpletest_geometric_small.png
<td> \subpage JKQtPlotterGeometricGraphs
<td> `JKQTPplotObject`, `JKQTPgeoArc`, `JKQTPgeoLine`, `JKQTPgeoRectangle`, ...
</table>
\subsection jkqtp_extut_keyaxesstyles Styling the Plot, Keys, Axes, ...
<table>
<tr><th> Screenshot <th> Description <th> Notes
<tr><td> \image html jkqtplotter_simpletest_logaxes_small.png
<td> \subpage JKQtPlotterLogAxes
<td> `JKQTPxyLineGraph` and `JKQTPgeoText` <br> C++ vector of data <br> logarithmic axes and styling <br> plot line styles <br> internal LaTeX parser <br> add commenting text to a graph
<tr><td> \image html jkqtplotter_simpletest_dateaxes_timeaxis_small.png
<td> \subpage JKQtPlotterDateTimeAxes
<td> `JKQTPxyLineGraph` and `JKQTPfilledVerticalRangeGraph` <br> C++ vector of data <br> date/time axes <br> plot min/max range graph <br> internal LaTeX parser <br> data from CSV files
</table>
\subsection jkqtp_extut_plotimagedata Image data Plots
<table>
<tr><th> Screenshot <th> Description <th> Notes
<tr><td> \image html jkqtplotter_simpletest_rgbimageplot_qt_small.png
<td> \subpage JKQtPlotterImagePlotQImageRGB
<td> `JKQTPImage` <br> `QImage` drawn onto a plot with arbitrary scaling)
<tr><td> \image html jkqtplotter_simpletest_imageplot_small.png
<td> \subpage JKQtPlotterImagePlot
<td> `JKQTPColumnMathImage` <br> image data copied from C-style row-major array into a single column of the internal datastore <br> Describes several options of the image plotting classes (different ways of color coding, what to do with data above/below the limits etc.)
<tr><td> \image html jkqtplotter_simpletest_imageplot_modifier_small.png
<td> \subpage JKQtPlotterImagePlotModifier
<td> `JKQTPColumnMathImage` <br> image data copied from C-style row-major array into a single column of the internal datastore <br> Image is modified by a second image to display two data dimensions at the same time
<tr><td> \image html jkqtplotter_simpletest_imageplot_nodatastore_small.png
<td> \subpage JKQtPlotterImagePlotNoDatastore
<td> `JKQTPMathImage` <br> image data in a C-style row-major array, not using internal datastore
<tr><td> \image html jkqtplotter_simpletest_imageplot_opencv_small.png
<td> \subpage JKQtPlotterImagePlotOpenCV
<td> `JKQTPColumnMathImage` <br> image data copied from OpenCV cv::Mat-structure into a single column of the internal datastore
<tr><td> \image html jkqtplotter_simpletest_rgbimageplot_opencv_small.png
<td> \subpage JKQtPlotterImagePlotRGBOpenCV
<td> `JKQTPColumnRGBMathImage` <br> image data copied from OpenCV cv::Mat-structure into three columns of the internal datastore
</table>
\subsection jkqtp_extut_guitoolslayout GUI Tools and Plot Layout
<table>
<tr><th> Screenshot <th> Description <th> Notes
<tr><td> \image html test_multiplot_small.png
<td> \subpage JKQtPlotterMultiPlotLayout
<td> Combining plots in Qt Layouts <br> linking plot axes <br> copy data from a `std::map` int the datastore <br> print plots/print preview
<tr><td> \image html jkqtplotter_simpletest_ui_small.png
<td> \subpage JKQtPlotterQtCreator
<td> using Qt Form Designer <br> parsed function plots (`JKQTPxParsedFunctionLineGraph`) </table>
</table>
\subsection jkqtp_extut_specialfeatures Tools and Special Features
<table>
<tr><th> Screenshot <th> Description <th> Notes
<tr><td> \image html jkqtmathtext_simpletest_small.png
<td> \subpage JKQTmathTextSimpleExample
<td> JKQTMathText<br>render LaTeX markup (Schrödinger's equation)
</table>
*/