mirror of
https://github.com/jkriege2/JKQtPlotter.git
synced 2024-12-26 10:31:39 +08:00
23 KiB
23 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 |
|
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 | 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 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 |