JKQtPlotter/examples/README.md
jkriege2 0e2237e92f - more refactorings to modernize C++
- fixed JKQTPColumnMathImage with modifiers
- improved documentation
- make use of link_prl/create_prl in QMake projects (see http://doc.qt.io/qt-5/qmake-advanced-usage.html)
2019-01-26 18:00:42 +01:00

10 KiB

Example (JKQTPlotter): Examples & Tutorials

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.

Different Plot Data Styles

Screenshot Description Notes
Very Basic Example (Line Graph) JKQTPXYLineGraph
C++-style QVector arrays of data
Line Graph with Live Data / Speed Test JKQTPXYLineGraph
external std::array<double,N> data, not owned by datastore
live-data, measure plotting speed
tipps to increas plotting speed
Line Graph with Different Symbols and Line Styles JKQTPXYLineGraph
C++ vector of data
setting line styles and symbol styles
automatic graph coloring
Step Line Plots in Different Styles JKQTPStepHorizontalGraph (and JKQTPXYLineGraph)
C++ vector of data
different step modes, filled and line-only
Simple Line/Symbol Graph With Errorbars JKQTPXYLineErrorGraph
C-style arrays of data
Different Types of Error Indicators JKQTPXYLineErrorGraph
different styles of error indicators for x- and y-errors
C++-style QVector for data
styling error indicators
moving key and formatting plotter grid
Simple Bar Charts JKQTPBarVerticalGraph
C-style arrays of data

Stacked Bar Charts JKQTPBarVerticalStackableGraph, JKQTPBarHorizontalStackableGraph
C++-style vectors of data
Filled Curve Plots JKQTPBarVerticalGraph
setting/altering data in JKQTPDatstore directly
transparent plots
calculating histograms
Impulse Plots JKQTPImpulsesVerticalGraph and JKQTPImpulsesHorizontalGraph
C++-style QVector as plot data
Scatter Graph with Parametrized Symbols/Colors JKQTPXYParametrizedScatterGraph
C++-style QVector as plot data
modify scatter/points/line-graph properties by data
Draw an Artistic Image with a Parametrized Scatter Graph JKQTPXYParametrizedScatterGraph
C++-style QVector as plot data
rectangular arrangement of scatters
generative computer graphics
Plotting Parametric Curves JKQTPXYLineGraph and JKQTPXYParametrizedScatterGraph
C++-style QVector as plot data
parametric curve plotting
Plotting Mathematical Functions as Line Graphs JKQTPXFunctionLineGraph
diretly plotting C/C++-functions
Plotting Parsed Mathematical Functions as Line Graphs JKQTPXParsedFunctionLineGraph
plotting functions with the internal math equation parser/evaluator
Plotting Geometric Objects
Plotting Box Plots JKQTPBoxplotVerticalGraph, JKQTPBoxplotHorizontalGraph

Styling the Plot, Keys, Axes, ...

Screenshot Description Notes
logarithmic axes JKQTPXYLineGraph and JKQTPGeoText
C++ vector of data
logarithmic axes and styling
plot line styles
internal LaTeX parser
add commenting text to a graph


date/time axes JKQTPXYLineGraph and JKQTPFilledVerticalRangeGraph
C++ vector of data
date/time axes
plot min/max range graph
internal LaTeX parser
data from CSV files

Image data Plots

Screenshot Description Notes
QImage as a Graph JKQTPImage
QImage drawn onto a plot with arbitrary scaling)
Basic 1-channel Raw C Image Plot JKQTPColumnMathImage
image data copied from C-style row-major array into a single column of the internal datastore
Describes several options of the image plotting classes (different ways of color coding, what to do with data above/below the limits etc.)
Modifier-Feature of Image Plots JKQTPColumnMathImage
image data copied from C-style row-major array into a single column of the internal datastore
Image is modified by a second image to display two data dimensions at the same time
Basic 1-channel Raw C Image Plot
without the internal datastore
JKQTPMathImage
image data in a C-style row-major array, not using internal datastore
1-channel OpenCV cv::Mat Image Plot JKQTPColumnMathImage
image data copied from OpenCV cv::Mat-structure into a single column of the internal datastore
RGB OpenCV cv::Mat Image Plot JKQTPColumnRGBMathImage
image data copied from OpenCV cv::Mat-structure into three columns of the internal datastore

GUI Tools

Screenshot Description Notes
Placing JKQTPlotter into a Qt User-Interface-XML-file (*.ui) using Qt Form Designer
parsed function plots (JKQTPXParsedFunctionLineGraph)
User Interaction different possibilities of user-interaction in JKQtPlotter

Plot Layout & Styling

Screenshot Description Notes
Layouting Several Plots Combining plots in Qt Layouts
linking plot axes
copy data from a std::map int the datastore
print plots/print preview

More Complex Examples

Screenshot Description Notes
Layouting Several Plots Combining plots in Qt Layouts
linking plot axes
copy data from a std::map int the datastore
print plots/print preview
Plotting a Statistical Distribution of Data Combines several different graphs to draw random values, their distribution and some statistical properties

Tools and Special Features

Screenshot Description Notes
JKQTMathText: Simple Demonstration
JKQTMathText: Full Testing Application