JKQtPlotter/examples
jkriege2 0f958cc2d6 - JKQTMathText: IMPROVED/breaking: refactored symbol node JKQTMathTextSymbolNode and changed font-lookup!
- JKQTMathText: IMPROVED/NEW/breaking: refactored whitespace-processing node JKQTMathTextWhitespaceNode, now all major LaTeX whitespace commands are supported properly
2022-07-03 20:30:12 +02:00
..
advplotstyling more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
barchart more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
boxplot more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
cmake_link_example updated documentation and whatsnew.dox 2022-04-22 20:19:25 +02:00
contourplot fixed QT6 compatibility 2022-05-12 10:35:05 +02:00
datastore more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
datastore_groupedstat more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
datastore_iterators more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
datastore_regression more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
datastore_statistics more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
datastore_statistics_2d more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
dateaxes more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
distributionplot more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
errorbarstyles more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
evalcurve more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
filledgraphs more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
functionplot more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
geo_arrows more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
geo_simple more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
geometric more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
imageplot more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
imageplot_cimg fixed CMakeLists.txt cmake-version to work on appveyor Linux build 2022-04-18 22:42:18 +02:00
imageplot_modifier more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
imageplot_nodatastore more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
imageplot_opencv fixed CMakeLists.txt cmake-version to work on appveyor Linux build 2022-04-18 22:42:18 +02:00
imageplot_userpal more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
impulsesplot more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
jkqtfastplotter_test fixed CMakeLists.txt cmake-version to work on appveyor Linux build 2022-04-18 22:42:18 +02:00
jkqtmathtext_simpletest NEW/BREAKING: restructured JKQTMathText: broke up single, large CPP-file into several smaller files 2022-06-08 15:38:26 +02:00
jkqtmathtext_test - JKQTMathText: IMPROVED/breaking: refactored symbol node JKQTMathTextSymbolNode and changed font-lookup! 2022-07-03 20:30:12 +02:00
jkqtplot_test - JKQTMathText: IMPROVED/breaking: refactored symbol node JKQTMathTextSymbolNode and changed font-lookup! 2022-07-03 20:30:12 +02:00
logaxes more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
mandelbrot more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
multiplot more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
parametriccurve more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
paramscatterplot more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
paramscatterplot_image more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
parsedfunctionplot more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
rgbimageplot more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
rgbimageplot_cimg fixed CMake version requirement 2022-04-18 23:12:08 +02:00
rgbimageplot_opencv fixed CMakeLists.txt cmake-version to work on appveyor Linux build 2022-04-18 22:42:18 +02:00
rgbimageplot_qt more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
simpletest more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
speed more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
stackedbars more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
stepplots more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
styledboxplot more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
styling added debug-feature to show boxes around text in the plot 2022-06-02 23:05:58 +02:00
symbols_and_errors more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
symbols_and_styles more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
ui more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
user_interaction implemented feature request #69: Show data tooltip on MouseMove by adding general actions that can be executed on a mouse move operation, when no mouse button is pressed, modification by keyboard modifiers is possible though 2022-05-15 14:15:15 +02:00
violinplot more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
wiggleplots M_PI not easily defined for every compiler 2022-05-12 11:57:24 +02:00
CMakeLists.txt implemented wiggle plots (feature request #68) 2022-05-11 22:55:23 +02:00
README.md implemented wiggle plots (feature request #68) 2022-05-11 22:55:23 +02:00

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
Special Step Line Plots in Different Styles JKQTPSpecialLineHorizontalGraph
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 JKQTPFilledCurveXGraph/JKQTPFilledCurveYGraph
setting/altering data in JKQTPDatstore directly
transparent plots
calculating histograms
Wiggle Plots JKQTPFilledCurveXGraph/JKQTPFilledCurveYGraph
setting/altering data in JKQTPDatstore directly
data-dependent coloring
random-walks
seismographic data
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 Parametric Mathematical Curves as Line Graphs JKQTPXYFunctionLineGraph
Plotting Box Plots JKQTPBoxplotVerticalGraph, JKQTPBoxplotHorizontalGraph
Plotting Violin Plots JKQTPViolinplotVerticalElement, JKQTPViolinplotHorizontalElement

Geometric Plot Objects and Annotations

Screenshot Description Notes
Plotting Geometric Objects
Plotting Arrows
Demo-Plots of Geometric Objects for Documentation

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
advanced line and fill styling JKQTPXYLineGraph, JKQTPSpecialLineHorizontalGraph and JKQTPBarVerticalGraph
C++ vector of data
advanced line styling and filling
Styling of Boxplots Modifying different Aspects of the Styling of boxplots
Styling of JKQTPlotter Modifying different Aspects of the Styling of JKQTPlotter

Image data Plots

Screenshot Description Notes
QImage as a Graph JKQTPImage
QImage drawn onto a plot with arbitrary scaling
inverted coordinate axes
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.)
Image Plots with User-Defined Palettes JKQTPColumnMathImage
user-defines palettes
palettes from files
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
Simple 3-channel Math RGB/CMY Image Plot JKQTPColumnRGBMathImage
image data in a C-style row-major array, not using internal datastore
RGB/CMY color compositing
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
inverted coordinate axesof the internal datastore
1-channel CImg Image Plot JKQTPColumnMathImage
image data copied from cimg CImg<T>-structure into a single column of the internal datastore
RGB cimg Image Plot JKQTPColumnRGBMathImage
image data copied from CImg image datastructure into three columns
inverted coordinate axesof the internal datastore
Contour Plots JKQTPColumnContourPlot
image data edited inside JKQTPDatastore

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

Data Management & Statistics (Tutorials)

Screenshot Description Notes
Tutorial: Basic Usage of JKQTPDatastore Basic Data Management with JKQTPDatastore
Copying data into a JKQTPDatastore
Editing data inside a JKQTPDatastore
Editing Image Data in a JKQTPDatastore
Tutorial: Iterator-based access to JKQTPDatastore Iterator-based Data Management with JKQTPDatastore
Tutorial: Advanced 1-Dimensional Statistics with JKQTPDatastore Advanced 1-Dimensional Statistical Computation with JKQTPDatastore
using the internal statistics library
basic statistics (mean, standard deviation, ...)
boxplots
histograms
kernel density estimates (KDE)
Tutorial: Regression Analysis (with the Statistics Library) Advanced 1-Dimensional Statistical Computation with JKQTPDatastore
using the internal statistics library
Regression Analysis (with the Statistics Library)
robust regression (IRLS)
weighted regression
non-linear regression
polynomial fitting
Tutorial: 1-Dimensional Group Statistics (with the Statistics Library) Advanced 1-Dimensional Statistical Computation with JKQTPDatastore
grouped statistics
error indicators from data
boxplots
Tutorial: Advanced 2-Dimensional Statistics with JKQTPDatastore Advanced 2-Dimensional Statistical Computation with JKQTPDatastore
using the internal statistics library
histograms
kernel density estimates (KDE)

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
Mandelbrot Set Explorer Allows to zoom into the Mandelbrot Set, using the different Zooming methods of JKQTPlotter

Tools and Special Features

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

CMake Build System

Screenshot Description Notes
CMake Example Linking Against JKQTPlotter explains how to link against JKQTPlotter with CMake