mirror of
https://github.com/jkriege2/JKQtPlotter.git
synced 2025-01-23 22:22:11 +08:00
improved code and files for doxygen documentation
This commit is contained in:
parent
3688595f51
commit
488df45829
@ -1,4 +1,4 @@
|
||||
# JKQtPlotter
|
||||
# JKQtPlotter - A Qt Plotting Library
|
||||
This is an extensive library of function/data plotter classes for Qt (>= 4.7, tested with Qt up to 5.11).
|
||||
|
||||
This software is licensed under the term of the [GNU Lesser General Public License 2.1
|
||||
|
5082
doc/Doxyfile
5082
doc/Doxyfile
File diff suppressed because it is too large
Load Diff
11
doc/dox/jkqtfastplotter.dox
Normal file
11
doc/dox/jkqtfastplotter.dox
Normal file
@ -0,0 +1,11 @@
|
||||
/*!
|
||||
|
||||
\defgroup jkqtfastplotter JKQTFastPlotter: Speed-Optimized Plotter class
|
||||
|
||||
This is an indepent (and fully self-contained) plotter class, which is optimized for drawing speed, rather than
|
||||
output quality. It lacks several of the advanced features of JKQtPlotter, but can be used in cases, where fast
|
||||
update of plots or real-time plotting is required.
|
||||
|
||||
An example for the usage of this class can be found here: \link ../../examples/jkqtfastplotter_test \endlink
|
||||
|
||||
*/
|
17
doc/dox/jkqtmathtext.dox
Normal file
17
doc/dox/jkqtmathtext.dox
Normal file
@ -0,0 +1,17 @@
|
||||
/*!
|
||||
|
||||
\defgroup jkqtmathtext JKQtMathText LaTeX-Renderer for Qt
|
||||
|
||||
This group contains JKQtMathText, a self-contained LaTeX-renderer for Qt. It is used to renderer
|
||||
labels in JKQtPlotter, but can be used independently. The class does not depend on any library,
|
||||
except Qt.
|
||||
|
||||
|
||||
Examples for the usage of this class can be found here:
|
||||
- \ref JKQTmathTextSimpleExample with the main source: \link ../../examples/jkqtmathtext_simpletest/jkqtmathtext_simpletest.cpp \endlink
|
||||
- \link ../../examples/jkqtmathtext_test/jkqtfastplotter_test_testmain.cpp \endlink
|
||||
.
|
||||
|
||||
|
||||
|
||||
*/
|
125
doc/dox/jkqtplotter.dox
Normal file
125
doc/dox/jkqtplotter.dox
Normal file
@ -0,0 +1,125 @@
|
||||
/*!
|
||||
|
||||
\defgroup jkqtptools Tool Functions and Definitions for JKQtPlotter
|
||||
|
||||
This group contains a set of tools that I've written over the years to enhance the
|
||||
C++ standard library.
|
||||
|
||||
\defgroup tools_math Tools for Mathematical Computations & Equation Parsing
|
||||
\ingroup jkqtptools
|
||||
|
||||
\defgroup jkqtptools_string String Tool Functions
|
||||
\ingroup jkqtptools
|
||||
|
||||
\defgroup jkqtptools_qt Additional Tools for Qt
|
||||
\ingroup jkqtptools
|
||||
|
||||
\defgroup jkqtptools_qtwidgets Additional Widgets for Qt
|
||||
\ingroup jkqtptools
|
||||
|
||||
\defgroup jkqtptools_drawing Drawing Tools
|
||||
\ingroup jkqtptools
|
||||
|
||||
\defgroup jkqtptools_debugging Debugging Tools
|
||||
\ingroup jkqtptools
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\defgroup jkqtplotter JKQtPlotter: Qt based Scientific Plotter Class
|
||||
|
||||
A Qt based plotter for 2D scientific graphs.
|
||||
|
||||
|
||||
\defgroup jkqtpdatastorage Data Storage Classes/System
|
||||
\ingroup jkqtplotter
|
||||
|
||||
The classes in this group implement a data storage system for use with the main plotter class.
|
||||
Basically a table of data is generated as a set of logical columns that may be bound to different
|
||||
data sources (internal or external memory arrays. Later on it is simply possible to plot graphs
|
||||
using the column number and the not a link to the actual data array, as the link is stored in these
|
||||
classes.
|
||||
|
||||
\defgroup jkqtpopencvinterface OpenCV Interfaceing Tools
|
||||
\ingroup jkqtpdatastorage
|
||||
|
||||
Classes and functions in this group allow JKQtPlotter to directly work with <a href="https://opencv.org/">OpenCV</a> data structures.
|
||||
|
||||
|
||||
\defgroup jkqtpbaseplotter Plotter Base Class
|
||||
\ingroup jkqtplotter
|
||||
|
||||
This class implements the basis for plotter classes. It contains layout management code,
|
||||
coordinate system management ... Use JKQPlotter if you need a widget
|
||||
|
||||
\defgroup jkqtpbaseplotter_elements Basic Plot Elements (coordinate axes, key, ...)
|
||||
\ingroup jkqtplotter
|
||||
|
||||
This group contains some tool classes that implement basic elements of the plot (coordinate axes, key, ...).
|
||||
These classes are used by JKQtPlotterBase to output the plot
|
||||
|
||||
|
||||
\defgroup jkqtplotter_elements Plot Elements
|
||||
\ingroup jkqtplotter
|
||||
|
||||
|
||||
\defgroup jkqtplotter_basegraphs Baseclasses for Graphs
|
||||
\ingroup jkqtplotter_elements
|
||||
|
||||
\defgroup jkqtplotter_basegraphserrors Base Classes for Error Indicators
|
||||
\ingroup jkqtplotter_basegraphs
|
||||
|
||||
|
||||
\defgroup jkqtplotter_linesymbolgraphs Line/Symbol Graphs
|
||||
\ingroup jkqtplotter_elements
|
||||
|
||||
\defgroup jkqtplotter_Fgraphs Function Graphs
|
||||
\ingroup jkqtplotter_linesymbolgraphs
|
||||
|
||||
\defgroup jkqtplotter_parsedFgraphs Parsed Function Graphs
|
||||
\ingroup jkqtplotter_linesymbolgraphs
|
||||
|
||||
\defgroup jkqtplotter_barssticks Barcharts, Stick-Charts, ...
|
||||
\ingroup jkqtplotter_elements
|
||||
|
||||
\defgroup jkqtplotter_statgraphs Statistical Graphs (e.g. Boxplots ...)
|
||||
\ingroup jkqtplotter_elements
|
||||
|
||||
\defgroup jkqtplotter_geoplots Geometric Elements (Lines, Rectangles, ...)
|
||||
\ingroup jkqtplotter_elements
|
||||
|
||||
\defgroup jkqtplotter_diverse Diverse Other Graphs (Ranges, ...)
|
||||
\ingroup jkqtplotter_elements
|
||||
|
||||
\defgroup jkqtplotter_imagelots Matrix/Image Plotting
|
||||
\ingroup jkqtplotter_elements
|
||||
|
||||
\defgroup jkqtplotter_imagelots_elements Image Plotting Graphs
|
||||
\ingroup jkqtplotter_imagelots
|
||||
|
||||
\defgroup jkqtplotter_imagelots_tools Image Drawing Tools
|
||||
\ingroup jkqtplotter_imagelots
|
||||
|
||||
\defgroup jkqtplotter_imagelots_contour Contour Graphs
|
||||
\ingroup jkqtplotter_imagelots
|
||||
|
||||
|
||||
\defgroup jkqtplotter_overlays Overlay Elements
|
||||
\ingroup jkqtplotter_elements
|
||||
|
||||
|
||||
|
||||
\defgroup jkqtpgraphsmodel Data Models to Access Graphs in a JKQtBasePlotter/JKQtPlotter
|
||||
\ingroup jkqtplotter
|
||||
|
||||
\defgroup jkqtpcomboboxes Comboboxes for Properties of JKQtBasePlotter/JKQtPlotter
|
||||
\ingroup jkqtplotter
|
||||
|
||||
\defgroup jkqtplotter_guitools Qt GUI classes to work with JKQtPlotter
|
||||
\ingroup jkqtplotter
|
||||
|
||||
|
||||
|
||||
|
||||
*/
|
BIN
doc/images/JKQTPContour.png
Normal file
BIN
doc/images/JKQTPContour.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 34 KiB |
BIN
doc/images/JKQTPMathImageColorPaletteComboBox.png
Normal file
BIN
doc/images/JKQTPMathImageColorPaletteComboBox.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.8 KiB |
BIN
doc/images/JKQTPSymbolComboBox.png
Normal file
BIN
doc/images/JKQTPSymbolComboBox.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.3 KiB |
BIN
doc/images/JKQTPerrorPlotstyleComboBox.png
Normal file
BIN
doc/images/JKQTPerrorPlotstyleComboBox.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.1 KiB |
BIN
doc/images/JKQTPgraphsModel.png
Normal file
BIN
doc/images/JKQTPgraphsModel.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 20 KiB |
BIN
doc/images/JKQTPkeyPositionComboBox.png
Normal file
BIN
doc/images/JKQTPkeyPositionComboBox.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.4 KiB |
@ -1,63 +1,59 @@
|
||||
[Back to JKQTPlotter main page](../README.md)
|
||||
|
||||
# JKQtPlotter
|
||||
|
||||
## Examples & Tutorials
|
||||
# JKQtPlotter: Examples: 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
|
||||
## Different Plot Data Styles
|
||||
|
||||
| Screenshot | Description | Notes |
|
||||
|:-------------:| ------------- | ------------- |
|
||||
| [![](../screenshots/jkqtplotter_simpletest1_small.png)](./simpletest) | [Very Basic Example (Line Graph)](./simpletest) | `JKQTPxyLineGraph`<br/>C++-style QVector arrays of data |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_speed_small.png)](./simpletest_speed) | [Line Graph with Live Data / Speed Test](./simpletest_speed) | `JKQTPxyLineGraph`<br/>external `std::array<double,N>` data, not owned by datastore<br/>live-data, measure plotting speed<br/>tipps to increas plotting speed |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_symbols_and_styles_small.png)](./simpletest_symbols_and_styles) | [Line Graph with Different Symbols and Line Styles](./simpletest_symbols_and_styles) | `JKQTPxyLineGraph`<br/>C++ vector of data<br/>setting line styles and symbol styles<br/>automatic graph coloring |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_stepplots_small.png)](./simpletest_stepplots) | [Step Line Plots in Different Styles](./simpletest_stepplots) | `JKQTPstepHorizontalGraph` (and `JKQTPxyLineGraph`)<br/>C++ vector of data<br/>different step modes, filled and line-only |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_symbols_and_errors_small.png)](./simpletest_symbols_and_errors) | [Simple Line/Symbol Graph With Errorbars](./simpletest_symbols_and_errors) | `JKQTPxyLineErrorGraph`<br/>C-style arrays of data |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_errorbarstyles_small.png)](./simpletest_errorbarstyles) | [Different Types of Error Indicators](./simpletest_errorbarstyles) | `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 |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_barchart_small.png)](./simpletest_barchart) | [Simple Bar Charts](./simpletest_barchart) | `JKQTPbarVerticalGraph`<br/>C-style arrays of data |
|
||||
| [![](../screenshots/JKQTPbarVerticalGraphStacked_small.png)<br>![](../screenshots/JKQTPbarHorizontalGraphStacked_small.png)](./simpletest_stackedbars) | [Stacked Bar Charts](./simpletest_stackedbars) | `JKQTPbarVerticalStackableGraph`, `JKQTPbarHorizontalStackableGraph`<br/>C++-style vectors of data |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_filledgraphs_small.png)](./simpletest_filledgraphs) | [Filled Curve Plots](./simpletest_filledgraphs) | `JKQTPbarVerticalGraph`<br/>setting/altering data in `JKQTPdatstore` directly<br/> transparent plots<br/>calculating histograms |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_impulsesplot_small.png)](./simpletest_impulsesplot) | [Impulse Plots](./simpletest_impulsesplot) | `JKQTPimpulsesVerticalGraph` and `JKQTPimpulsesHorizontalGraph`<br/>C++-style QVector as plot data |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_paramscatterplot_small.png)](./simpletest_paramscatterplot) | [Scatter Graph with Parametrized Symbols/Colors](./simpletest_paramscatterplot) | `JKQTPxyParametrizedScatterGraph`<br/>C++-style QVector as plot data<br/>modify scatter/points/line-graph properties by data |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_paramscatterplot_image_small.png)](./simpletest_paramscatterplot_image) | [Draw an Artistic Image with a Parametrized Scatter Graph](./simpletest_paramscatterplot_image) | `JKQTPxyParametrizedScatterGraph`<br/>C++-style QVector as plot data<br/>rectangular arrangement of scatters<br/>generative computer graphics |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_parametriccurve_small.png)](./simpletest_parametriccurve) | [Plotting Parametric Curves](./simpletest_parametriccurve) | `JKQTPxyLineGraph` and `JKQTPxyParametrizedScatterGraph`<br/>C++-style QVector as plot data<br/>parametric curve plotting |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_functionplot_small.png)](./simpletest_functionplot) | [Plotting Mathematical Functions as Line Graphs](./simpletest_functionplot) | `JKQTPxFunctionLineGraph` <br/>diretly plotting C/C++-functions |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_parsedfunctionplot_small.png)](./simpletest_parsedfunctionplot) | [Plotting Parsed Mathematical Functions as Line Graphs](./simpletest_parsedfunctionplot) | `JKQTPxParsedFunctionLineGraph` <br/>plotting functions with the internal math equation parser/evaluator |
|
||||
| [![](../screenshots/jkqtplotter_simpletest1_small.png)](./simpletest) | [Very Basic Example (Line Graph)](./simpletest) | `JKQTPxyLineGraph` <br> C++-style QVector arrays of data |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_speed_small.png)](./simpletest_speed) | [Line Graph with Live Data / Speed Test](./simpletest_speed) | `JKQTPxyLineGraph` <br> external `std::array<double,N>` data, not owned by datastore <br> live-data, measure plotting speed <br> tipps to increas plotting speed |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_symbols_and_styles_small.png)](./simpletest_symbols_and_styles) | [Line Graph with Different Symbols and Line Styles](./simpletest_symbols_and_styles) | `JKQTPxyLineGraph` <br> C++ vector of data <br> setting line styles and symbol styles <br> automatic graph coloring |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_stepplots_small.png)](./simpletest_stepplots) | [Step Line Plots in Different Styles](./simpletest_stepplots) | `JKQTPstepHorizontalGraph` (and `JKQTPxyLineGraph`) <br> C++ vector of data <br> different step modes, filled and line-only |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_symbols_and_errors_small.png)](./simpletest_symbols_and_errors) | [Simple Line/Symbol Graph With Errorbars](./simpletest_symbols_and_errors) | `JKQTPxyLineErrorGraph` <br> C-style arrays of data |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_errorbarstyles_small.png)](./simpletest_errorbarstyles) | [Different Types of Error Indicators](./simpletest_errorbarstyles) | `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 |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_barchart_small.png)](./simpletest_barchart) | [Simple Bar Charts](./simpletest_barchart) | `JKQTPbarVerticalGraph` <br> C-style arrays of data |
|
||||
| [![](../screenshots/JKQTPbarVerticalGraphStacked_small.png) <br> ![](../screenshots/JKQTPbarHorizontalGraphStacked_small.png)](./simpletest_stackedbars) | [Stacked Bar Charts](./simpletest_stackedbars) | `JKQTPbarVerticalStackableGraph`, `JKQTPbarHorizontalStackableGraph` <br> C++-style vectors of data |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_filledgraphs_small.png)](./simpletest_filledgraphs) | [Filled Curve Plots](./simpletest_filledgraphs) | `JKQTPbarVerticalGraph` <br> setting/altering data in `JKQTPdatstore` directly <br> transparent plots <br> calculating histograms |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_impulsesplot_small.png)](./simpletest_impulsesplot) | [Impulse Plots](./simpletest_impulsesplot) | `JKQTPimpulsesVerticalGraph` and `JKQTPimpulsesHorizontalGraph` <br> C++-style QVector as plot data |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_paramscatterplot_small.png)](./simpletest_paramscatterplot) | [Scatter Graph with Parametrized Symbols/Colors](./simpletest_paramscatterplot) | `JKQTPxyParametrizedScatterGraph` <br> C++-style QVector as plot data <br> modify scatter/points/line-graph properties by data |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_paramscatterplot_image_small.png)](./simpletest_paramscatterplot_image) | [Draw an Artistic Image with a Parametrized Scatter Graph](./simpletest_paramscatterplot_image) | `JKQTPxyParametrizedScatterGraph` <br> C++-style QVector as plot data <br> rectangular arrangement of scatters <br> generative computer graphics |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_parametriccurve_small.png)](./simpletest_parametriccurve) | [Plotting Parametric Curves](./simpletest_parametriccurve) | `JKQTPxyLineGraph` and `JKQTPxyParametrizedScatterGraph` <br> C++-style QVector as plot data <br> parametric curve plotting |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_functionplot_small.png)](./simpletest_functionplot) | [Plotting Mathematical Functions as Line Graphs](./simpletest_functionplot) | `JKQTPxFunctionLineGraph` <br> diretly plotting C/C++-functions |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_parsedfunctionplot_small.png)](./simpletest_parsedfunctionplot) | [Plotting Parsed Mathematical Functions as Line Graphs](./simpletest_parsedfunctionplot) | `JKQTPxParsedFunctionLineGraph` <br> plotting functions with the internal math equation parser/evaluator |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_geometric_small.png)](./simpletest_geometric) | [Plotting Geometric Objects](./simpletest_geometric) | |
|
||||
|
||||
### Styling the Plot, Keys, Axes, ...
|
||||
## Styling the Plot, Keys, Axes, ...
|
||||
|
||||
| Screenshot | Description | Notes |
|
||||
|:-------------:| ------------- | ------------- |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_logaxes_small.png)](./simpletest_logaxes) | [logarithmic axes](./simpletest_logaxes) | `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 |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_dateaxes_small.png)<br>![](../screenshots/jkqtplotter_simpletest_dateaxes_dates_small.png)<br>![](../screenshots/jkqtplotter_simpletest_dateaxes_timeaxis_small.png)](./simpletest_dateaxes) | [date/time axes](./simpletest_dateaxes) | `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 |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_logaxes_small.png)](./simpletest_logaxes) | [logarithmic axes](./simpletest_logaxes) | `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 |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_dateaxes_small.png) <br> ![](../screenshots/jkqtplotter_simpletest_dateaxes_dates_small.png) <br> ![](../screenshots/jkqtplotter_simpletest_dateaxes_timeaxis_small.png)](./simpletest_dateaxes) | [date/time axes](./simpletest_dateaxes) | `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 |
|
||||
|
||||
|
||||
### Image data Plots
|
||||
## Image data Plots
|
||||
|
||||
| Screenshot | Description | Notes |
|
||||
|:-------------:| ------------- | ------------- |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_rgbimageplot_qt_small.png)](./simpletest_rgbimageplot_qt) | [`QImage` as a Graph](./simpletest_rgbimageplot_qt) | `JKQTPImage`<br/>`QImage` drawn onto a plot with arbitrary scaling) |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_imageplot_small.png)](./simpletest_imageplot) | [Basic 1-channel Raw C Image Plot](./simpletest_imageplot) | `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.) |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_imageplot_modifier_small.png)](./simpletest_imageplot_modifier) | [Modifier-Feature of Image Plots](./simpletest_imageplot_modifier) | `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 |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_imageplot_nodatastore_small.png)](./simpletest_imageplot_nodatastore) | [Basic 1-channel Raw C Image Plot<br>without the internal datastore](./simpletest_imageplot_nodatastore) | `JKQTPMathImage`<br/>image data in a C-style row-major array, not using internal datastore |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_imageplot_opencv_small.png)](./simpletest_imageplot_opencv) | [1-channel OpenCV cv::Mat Image Plot](./simpletest_imageplot_opencv) | `JKQTPColumnMathImage`<br/>image data copied from OpenCV cv::Mat-structure into a single column of the internal datastore |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_rgbimageplot_opencv_small.png)](./simpletest_rgbimageplot_opencv) | [RGB OpenCV cv::Mat Image Plot](./simpletest_rgbimageplot_opencv) | `JKQTPColumnRGBMathImage`<br/>image data copied from OpenCV cv::Mat-structure into three columns of the internal datastore |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_rgbimageplot_qt_small.png)](./simpletest_rgbimageplot_qt) | [`QImage` as a Graph](./simpletest_rgbimageplot_qt) | `JKQTPImage` <br> `QImage` drawn onto a plot with arbitrary scaling) |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_imageplot_small.png)](./simpletest_imageplot) | [Basic 1-channel Raw C Image Plot](./simpletest_imageplot) | `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.) |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_imageplot_modifier_small.png)](./simpletest_imageplot_modifier) | [Modifier-Feature of Image Plots](./simpletest_imageplot_modifier) | `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 |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_imageplot_nodatastore_small.png)](./simpletest_imageplot_nodatastore) | [Basic 1-channel Raw C Image Plot <br> without the internal datastore](./simpletest_imageplot_nodatastore) | `JKQTPMathImage` <br> image data in a C-style row-major array, not using internal datastore |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_imageplot_opencv_small.png)](./simpletest_imageplot_opencv) | [1-channel OpenCV cv::Mat Image Plot](./simpletest_imageplot_opencv) | `JKQTPColumnMathImage` <br> image data copied from OpenCV cv::Mat-structure into a single column of the internal datastore |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_rgbimageplot_opencv_small.png)](./simpletest_rgbimageplot_opencv) | [RGB OpenCV cv::Mat Image Plot](./simpletest_rgbimageplot_opencv) | `JKQTPColumnRGBMathImage` <br> image data copied from OpenCV cv::Mat-structure into three columns of the internal datastore |
|
||||
|
||||
### GUI Tools and Plot Layout
|
||||
## GUI Tools and Plot Layout
|
||||
|
||||
| Screenshot | Description | Notes |
|
||||
|:-------------:| ------------- | ------------- |
|
||||
| [![](../screenshots/test_multiplot_small.png)](./test_multiplot) | [Layouting Several Plots](./test_multiplot) | Combining plots in Qt Layouts<br/>linking plot axes<br>copy data from a `std::map` int the datastore<br>print plots/print preview |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_ui_small.png)](./simpletest_ui) | [Placing JKQtPlotter into a Qt User-Interface-XML-file (`*.ui`)](./simpletest_ui) | using Qt Form Designer<br>parsed function plots (`JKQTPxParsedFunctionLineGraph`) |
|
||||
| [![](../screenshots/test_multiplot_small.png)](./test_multiplot) | [Layouting Several Plots](./test_multiplot) | Combining plots in Qt Layouts <br> linking plot axes <br> copy data from a `std::map` int the datastore <br> print plots/print preview |
|
||||
| [![](../screenshots/jkqtplotter_simpletest_ui_small.png)](./simpletest_ui) | [Placing JKQtPlotter into a Qt User-Interface-XML-file (`*.ui`)](./simpletest_ui) | using Qt Form Designer <br> parsed function plots (`JKQTPxParsedFunctionLineGraph`) |
|
||||
|
||||
### Tools and Special Features
|
||||
## Tools and Special Features
|
||||
|
||||
| Screenshot | Description | Notes |
|
||||
|:-------------:| ------------- | ------------- |
|
||||
| [![](../screenshots/jkqtmathtext_simpletest_small.png)](./jkqtmathtext_simpletest) | [JKQTMathText: LaTeX Renderer](./jkqtmathtext_simpletest) | |
|
||||
|
||||
[Back to JKQTPlotter main page](../README.md)
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
#include <QApplication>
|
||||
#include "testmain.h"
|
||||
#include "jkqtfastplotter_test_testmain.h"
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
QApplication a(argc, argv);
|
||||
|
@ -6,9 +6,9 @@ TARGET = JKQTFastPlotter_test
|
||||
TEMPLATE = app
|
||||
|
||||
SOURCES += jkqtfastplotter_test.cpp \
|
||||
testmain.cpp
|
||||
jkqtfastplotter_test_testmain.cpp
|
||||
|
||||
HEADERS += testmain.h
|
||||
HEADERS += jkqtfastplotter_test_testmain.h
|
||||
|
||||
RCC_DIR = .rccs
|
||||
|
||||
|
@ -1,4 +1,8 @@
|
||||
#include "testmain.h"
|
||||
/** \example jkqtfastplotter_test_testmain.cpp
|
||||
* Example of how to use JKQtFastPlotter
|
||||
*/
|
||||
|
||||
#include "jkqtfastplotter_test_testmain.h"
|
||||
#include <QCheckBox>
|
||||
#include <QtGui>
|
||||
|
@ -1,8 +1,6 @@
|
||||
# JKQTmathText: A simple usage example {#JKQTmathTextSimpleExample}
|
||||
JKQTmathText is a hand-written LaTeX-renderer for Qt (implemented in native C++, using Qt). It supports a large set of standard LaTeX markup and can render it to a QPainter.
|
||||
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
||||
|
||||
This project (see `./examples/jkqtmathtext_simpletest/`) simply creates a QLabel (as a new window) that displays a rendered LaTeX equation (here the time-dependent Schrödinger equation).
|
||||
The QMake project looks like this (see [`jkqtmathtext_simpletest.pro`](../jkqtmathtext_simpletest/jkqtmathtext_simpletest.pro):
|
||||
```qmake
|
||||
@ -67,4 +65,3 @@ The result looks like this:
|
||||
|
||||
![jkqtmathtext_simpletest](../../screenshots/jkqtmathtext_simpletest.png)
|
||||
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
@ -1,3 +1,9 @@
|
||||
/** \example jkqtmathtext_simpletest.cpp
|
||||
* A very basic example for the usage of JKQTmathText
|
||||
*
|
||||
* \ref JKQTmathTextSimpleExample
|
||||
*/
|
||||
|
||||
#include <QApplication>
|
||||
#include <QLabel>
|
||||
#include <QPixmap>
|
||||
|
@ -1,8 +1,4 @@
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
||||
|
||||
# JKQtPlotter
|
||||
|
||||
## Very simple line-graph
|
||||
# JKQtPlotter: Examples: Very simple line-graph {#JKQTPlotterSimpleTest}
|
||||
This project (see `./examples/simpletest/`) simply creates a JKQtPlotter widget (as a new window) and adds a single line-graph (a sine-wave). Data is initialized from two QVector<double> objects.
|
||||
The QMake project looks like this (see [`jkqtplotter_simpletest.pro`](../simpletest/jkqtplotter_simpletest.pro):
|
||||
```qmake
|
||||
@ -102,4 +98,3 @@ The result looks like this:
|
||||
|
||||
|
||||
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
@ -1,3 +1,9 @@
|
||||
/** \example jkqtplotter_simpletest.cpp
|
||||
* A very basic example for the usage of JKQtPlotter
|
||||
*
|
||||
* \ref JKQTPlotterSimpleTest
|
||||
*/
|
||||
|
||||
#include <QApplication>
|
||||
#include "jkqtplotter/jkqtplotter.h"
|
||||
#include "jkqtplotter/jkqtpgraphs.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
||||
|
||||
# JKQtPlotter
|
||||
|
||||
## Simple barchart
|
||||
# JKQtPlotter: Examples: Simple barchart {#JKQtPlotterBarcharts}
|
||||
This project (see [`simpletest_barchart`](../simpletest_barchart) simply creates a JKQtPlotter widget (as a new window) and adds several barcharts. They are ordered in groups.
|
||||
|
||||
The soruce code of the main application is (see [`jkqtplotter_simpletest_barchart.cpp`](../simpletest_barchart/jkqtplotter_simpletest_barchart.cpp):
|
||||
@ -98,4 +94,3 @@ The result looks like this:
|
||||
![jkqtplotter_simpletest_barchart](../../screenshots/jkqtplotter_simpletest_barchart.png)
|
||||
|
||||
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
@ -1,3 +1,9 @@
|
||||
/** \example jkqtplotter_simpletest_barchart.cpp
|
||||
* Shows how to draw Barcharts with JKQtPlotter
|
||||
*
|
||||
* \ref JKQtPlotterBarcharts
|
||||
*/
|
||||
|
||||
#include <QApplication>
|
||||
#include "jkqtplotter/jkqtplotter.h"
|
||||
#include "jkqtplotter/jkqtpgraphs.h"
|
||||
|
@ -1,10 +1,6 @@
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
||||
# JKQtPlotter: Examples: Date/Time Axes {#JKQtPlotterDateTimeAxes}
|
||||
|
||||
# JKQtPlotter
|
||||
|
||||
## Date/Time Axes
|
||||
|
||||
### Date Axis
|
||||
## Date Axis
|
||||
This project (see `./examples/simpletest_dateaxes/`) simply creates a JKQtPlotter widget (as a new window) with the X-axis showing time or date(-time) values, formated as such.
|
||||
|
||||
The source code of the main application can be found in [`jkqtplotter_simpletest_dateaxes.cpp`](../simpletest_dateaxes/jkqtplotter_simpletest_dateaxes.cpp).
|
||||
@ -113,7 +109,7 @@ The result looks like this:
|
||||
![jkqtplotter_simpletest_symbols_and_styles](../../screenshots/jkqtplotter_simpletest_dateaxes.png)
|
||||
|
||||
|
||||
### Time Axis
|
||||
## Time Axis
|
||||
A second variant (see the example CPP-file) displays data with a time-axis:
|
||||
|
||||
![jkqtplotter_simpletest_symbols_and_styles](../../screenshots/jkqtplotter_simpletest_dateaxes_timeaxis.png)
|
||||
@ -168,4 +164,3 @@ Axis formating for this example is done like this:
|
||||
plot.get_yAxis()->set_axisLabel("Temperature [{\\degree}C]");
|
||||
```
|
||||
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
@ -1,3 +1,9 @@
|
||||
/** \example jkqtplotter_simpletest_dateaxes.cpp
|
||||
* Shows how to use date/time axes with JKQtPlotter
|
||||
*
|
||||
* \ref JKQtPlotterDateTimeAxes
|
||||
*/
|
||||
|
||||
#include <QApplication>
|
||||
#include <QDateTime>
|
||||
#include <QTime>
|
||||
|
@ -1,8 +1,4 @@
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
||||
|
||||
# JKQtPlotter
|
||||
|
||||
## Different Types of Errorindicators
|
||||
# JKQtPlotter: Examples: Different Types of Errorindicators {#JKQtPlotterErrorBarStyles}
|
||||
This project (see `./examples/simpletest_errorbarstyles/`) simply creates a JKQtPlotter widget (as a new window) and adds several curves show-casing different styles of error indicators. Data is initialized from two QVector<double> objects.
|
||||
|
||||
The source code of the main application can be found in [`jkqtplotter_simpletest_errorbarstyles.cpp`](../simpletest_errorbarstyles/jkqtplotter_simpletest_errorbarstyles.cpp).
|
||||
@ -117,4 +113,3 @@ Error bars are implemented in the mixin-classes `JKQTPxyGraphErrors`, `JKQTPxGra
|
||||
.
|
||||
|
||||
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
@ -1,3 +1,9 @@
|
||||
/** \example jkqtplotter_simpletest_errorbarstyles.cpp
|
||||
* Shows how to use different error indicator styles with JKQtPlotter
|
||||
*
|
||||
* \ref JKQtPlotterErrorBarStyles
|
||||
*/
|
||||
|
||||
#include <QApplication>
|
||||
#include "jkqtplotter/jkqtplotter.h"
|
||||
#include "jkqtplotter/jkqtpgraphs.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
||||
|
||||
# JKQtPlotter
|
||||
|
||||
## Filled Curve Plots
|
||||
# JKQtPlotter: Examples: Filled Curve Plots {#JKQtPlotterFilledGraphs}
|
||||
This project (see `./examples/simpletest_filledgraphs/`) simply creates a JKQtPlotter widget (as a new window) and adds several filled curve graphs (Histograms). Data is initialized from QVector<int> objects.
|
||||
|
||||
The source code of the main application can be found in [`jkqtplotter_simpletest_filledgraphs.cpp`](../simpletest_filledgraphs/jkqtplotter_simpletest_filledgraphs.cpp).
|
||||
@ -85,4 +81,4 @@ If you use `JKQTPfilledCurveYGraph` instead of `JKQTPfilledCurveXGraph`, the cur
|
||||
|
||||
|
||||
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
||||
|
||||
|
@ -1,3 +1,9 @@
|
||||
/** \example jkqtplotter_simpletest_filledgraphs.cpp
|
||||
* Shows how to use filled graphs with JKQtPlotter
|
||||
*
|
||||
* \ref JKQtPlotterFilledGraphs
|
||||
*/
|
||||
|
||||
#include <QApplication>
|
||||
#include "jkqtplotter/jkqtplotter.h"
|
||||
#include "jkqtplotter/jkqtpgraphsfilledcurve.h"
|
||||
|
@ -1,12 +1,8 @@
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
||||
|
||||
# JKQtPlotter
|
||||
|
||||
## Plotting Mathematical Functions as Line Graphs
|
||||
### Basics
|
||||
# JKQtPlotter: Examples: Plotting Mathematical Functions as Line Graphs {#JKQtPlotterFunctionPlots}
|
||||
## Basics
|
||||
This project (see `./examples/simpletest_functionplot/`) demonstrates how to plot mathematical functions as line graphs. The functions may be defined as static C functions, C++ functors or c++ inline functions. See [test/simpletest_parsedfunctionplot](../simpletest_parsedfunctionplot) for an example of how to use an internal equation parser provided with JKQtPlotter instead of directly defining functions.
|
||||
|
||||
### Simple C++ inline function
|
||||
## Simple C++ inline function
|
||||
The first example shows how to plot a C++ inline function:
|
||||
```c++
|
||||
JKQTPxFunctionLineGraph* func1=new JKQTPxFunctionLineGraph(plot);
|
||||
@ -15,7 +11,7 @@ The first example shows how to plot a C++ inline function:
|
||||
plot->addGraph(func1);
|
||||
```
|
||||
|
||||
### Simple C++ inline function with parameters
|
||||
## Simple C++ inline function with parameters
|
||||
In any such plot function, you can also use parameters, provided via the second parameter. Usually these are "internal parameters", defined by `func2->set_paramsV(p0, p1, ...)`:
|
||||
```c++
|
||||
JKQTPxFunctionLineGraph* func2=new JKQTPxFunctionLineGraph(plot);
|
||||
@ -45,7 +41,7 @@ In any such plot function, you can also use parameters, provided via the second
|
||||
plot->addGraph(func3);
|
||||
```
|
||||
|
||||
### C++ functors as plot functions
|
||||
## C++ functors as plot functions
|
||||
You can also use C++ functors (or function objects):
|
||||
```c++
|
||||
struct SincSqr {
|
||||
@ -66,7 +62,7 @@ You can also use C++ functors (or function objects):
|
||||
plot->addGraph(func4);
|
||||
```
|
||||
|
||||
### Static C functions
|
||||
## Static C functions
|
||||
You can also plot simple static C functions:
|
||||
```c++
|
||||
double sinc(double x) {
|
||||
@ -81,7 +77,7 @@ You can also plot simple static C functions:
|
||||
plot->addGraph(func5);
|
||||
```
|
||||
|
||||
### Predefined "special" functions
|
||||
## Predefined "special" functions
|
||||
Finally `JKQTPxFunctionLineGraph` provides a small set of special functions (polynomial `p0+p1*x+p2*x^2+...`, exponential `p0+p1*exp(x/p2)`, power-law `p0+p1*x^p2`, ...), which are parametrized from the internal or external parameters:
|
||||
```c++
|
||||
JKQTPxFunctionLineGraph* func6=new JKQTPxFunctionLineGraph(plot);
|
||||
@ -106,12 +102,12 @@ JKQTPxFunctionLineGraph* func7=new JKQTPxFunctionLineGraph(plot);
|
||||
plot->addGraph(func7);
|
||||
```
|
||||
|
||||
### Screenshot
|
||||
## Screenshot
|
||||
This code snippets above result in a plot like this:
|
||||
|
||||
![jkqtplotter_simpletest_functionplot](../../screenshots/jkqtplotter_simpletest_functionplot.png)
|
||||
|
||||
### Notes
|
||||
## Notes
|
||||
Note that all the different variants to provide parameters can be used with all types of functions!
|
||||
|
||||
Also see the example [Plotting Parsed Mathematical Functions as Line Graphs](../simpletest_parsedfunctionplot) for details on how the actual plotting algorithm works. That example also shows how to define a function as a string, which is then parsed and evaluated by an expression parser library embedded in JKQtPlotter.
|
||||
@ -121,4 +117,3 @@ All examples above use the graph class `JKQTPxFunctionLineGraph`, which plots a
|
||||
![jkqtplotter_simpletest_functionplot_fy](../../screenshots/jkqtplotter_simpletest_functionplot_fy.png)
|
||||
|
||||
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
@ -1,3 +1,9 @@
|
||||
/** \example jkqtplotter_simpletest_functionplot.cpp
|
||||
* Shows how to plot Mathematical Functions as Line Graphs with JKQtPlotter (as evaluated C/C++ functions)
|
||||
*
|
||||
* \ref JKQtPlotterFunctionPlots
|
||||
*/
|
||||
|
||||
#include <QApplication>
|
||||
#include <QVector>
|
||||
#include <QMap>
|
||||
|
@ -1,8 +1,4 @@
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
||||
|
||||
# JKQtPlotter
|
||||
|
||||
## Plotting Geometric Objects
|
||||
# JKQtPlotter: Examples: Plotting Geometric Objects {#JKQtPlotterGeometricGraphs}
|
||||
This project (see `./test/simpletest_geometric/`) shows the capabilities of JKQtPlotter to also draw geometric elements, like circles, ellipses, rectangles etc.
|
||||
|
||||
The source code of the main application can be found in [`jkqtplotter_simpletest_geometric.cpp`](../simpletest_geometric/jkqtplotter_simpletest_geometric.cpp). First a plot is generated and the axis aspect ration is set to 1, so an accurate plot is generated. Then several geometric graphs are added to the plot. Here are some examples, you can find more more examples in the source code of the example:
|
||||
@ -75,4 +71,3 @@ The result of the example combines all these elements and looks like this:
|
||||
|
||||
|
||||
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
@ -1,3 +1,9 @@
|
||||
/** \example jkqtplotter_simpletest_geometric.cpp
|
||||
* Shows how to plot several geometric forms with JKQtPlotter
|
||||
*
|
||||
* \ref JKQtPlotterGeometricGraphs
|
||||
*/
|
||||
|
||||
#include <QApplication>
|
||||
#include "jkqtplotter/jkqtplotter.h"
|
||||
#include "jkqtplotter/jkqtpgraphsgeometric.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
||||
|
||||
# JKQtPlotter
|
||||
|
||||
## Simple math image plot
|
||||
# JKQtPlotter: Examples: Simple math image plot {#JKQtPlotterImagePlot}
|
||||
This project (see `./examples/simpletest_imageplot/`) simply creates a JKQtPlotter widget (as a new window) and adds a color-coded image plot of a mathematical function (here the Airy disk). The image is stored as a simple C-array in row-major ordering and then copied into a single column of the internal datasdtore (JKQTPMathImage could be directly used without the internal datastore). This very simple interface can also be used to interface with many common image processing libraries, like CImg or OpenCV.
|
||||
|
||||
The soruce code of the main application is (see [`jkqtplotter_simpletest_imageplot.cpp`](../simpletest_imageplot/jkqtplotter_simpletest_imageplot.cpp):
|
||||
@ -149,4 +145,4 @@ There are several ways to modify the plot:
|
||||
.
|
||||
|
||||
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
||||
|
||||
|
@ -1,3 +1,9 @@
|
||||
/** \example jkqtplotter_simpletest_imageplot.cpp
|
||||
* Shows how to plot colored math images/matrices with JKQtPlotter
|
||||
*
|
||||
* \ref JKQtPlotterImagePlot
|
||||
*/
|
||||
|
||||
#include <QApplication>
|
||||
#include <cmath>
|
||||
#include "jkqtplotter/jkqtplotter.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
||||
|
||||
# JKQtPlotter
|
||||
|
||||
## Simple math image plot
|
||||
# JKQtPlotter: Examples: Simple math image plot {#JKQtPlotterImagePlotModifier}
|
||||
This project (see `./examples/simpletest_imageplot_modifier/`) creates a JKQtPlotter widget (as a new window) and adds a color-coded image plot of a mathematical function (here `sin(r)`). Then a second image (linearly scaling from 1 in the center to 0 at the borders) is used to modify the first image. The modification can alter several properties of the original image, like its saturation, its transparency (alpha) ...
|
||||
|
||||
The soruce code of the main application is (see [`jkqtplotter_simpletest_imageplot_modifier.cpp`](../simpletest_imageplot_modifier/jkqtplotter_simpletest_imageplot_modifier.cpp):
|
||||
@ -122,4 +118,3 @@ Combined the two form this plot:<br>
|
||||
See [`test/simpletest_imageplot`](../simpletest_imageplot) for a detailed description of the other possibilities that the class JKQTPColumnMathImage (and also JKQTPMathImage) offer with respect to determining how an image is plotted. You can combine all options there with the modifier feature described here.
|
||||
|
||||
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
@ -1,3 +1,9 @@
|
||||
/** \example jkqtplotter_simpletest_imageplot_modifier.cpp
|
||||
* Shows how to plot colored math images/matrices modified by a second data-column/image with JKQtPlotter
|
||||
*
|
||||
* \ref JKQtPlotterImagePlotModifier
|
||||
*/
|
||||
|
||||
#include <QApplication>
|
||||
#include <cmath>
|
||||
#include "jkqtplotter/jkqtplotter.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
||||
|
||||
# JKQtPlotter
|
||||
|
||||
## Simple math image plot without use of central JKQTdatastore
|
||||
# JKQtPlotter: Examples: Simple math image plot without use of central JKQTdatastore {#JKQtPlotterImagePlotNoDatastore}
|
||||
This project (see `./examples/simpletest_imageplot_nodatastore/`) simply creates a JKQtPlotter widget (as a new window) and adds a color-coded image plot of a mathematical function (here the Airy disk). The image is stored as a simple C-array in row-major ordering and then given to a JKQTPMathImage to visualize it. The data is stored as a pointer directly in the JKQTPMathImage object. There is also a variant JKQTPColumnMathImage of JKQTPMathImage, which references a column in the internal JKQTdatastore and uses the data there for plotting. In both cases data has to be organized as a row-major matrix of values. JKQTPMathImage supports different dataytpes ([u]nit8/16/32/64,float,double see `JKQTPMathImageBase::DataType`) that can be configured e.g. by `set_data()`.
|
||||
|
||||
The soruce code of the main application is (see [`jkqtplotter_simpletest_imageplot_nodatastore.cpp`](../simpletest_imageplot_nodatastore/jkqtplotter_simpletest_imageplot_nodatastore.cpp):
|
||||
@ -112,4 +108,3 @@ The result looks like this:
|
||||
See [`test/simpletest_imageplot`](../simpletest_imageplot) for a detailed description of the other possibilities that the class JKQTPColumnMathImage (and also JKQTPMathImage) offer with respect to determining how an image is plottet.
|
||||
|
||||
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
@ -1,3 +1,9 @@
|
||||
/** \example jkqtplotter_simpletest_imageplot_nodatastore.cpp
|
||||
* Simple math image plot without use of central JKQTdatastore
|
||||
*
|
||||
* \ref JKQtPlotterImagePlotNoDatastore
|
||||
*/
|
||||
|
||||
#include <QApplication>
|
||||
#include <cmath>
|
||||
#include "jkqtplotter/jkqtplotter.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
||||
|
||||
# JKQtPlotter
|
||||
|
||||
## Simple math image plot, showin a 1-channel OpenCV cv::Mat
|
||||
# JKQtPlotter: Examples: Simple math image plot, showin a 1-channel OpenCV cv::Mat {#JKQtPlotterImagePlotOpenCV}
|
||||
This project (see `./examples/simpletest_imageplot_opencv/`) simply creates a JKQtPlotter widget (as a new window) and adds a color-coded image plot of a mathematical function (here the Airy disk). The image is generated as an OpenCV cv::Mat image and then copied into a single column of the internal datasdtore (JKQTPMathImage could be directly used without the internal datastore).
|
||||
To copy the data a special OpenCV Interface function `JKQTPcopyCvMatToColumn()` is used, that copies the data from a cv::Mat directly into a column.
|
||||
|
||||
@ -125,4 +121,3 @@ The result looks like this:
|
||||
|
||||
See [`test/simpletest_imageplot`](../simpletest_imageplot) for a detailed description of the other possibilities that the class JKQTPColumnMathImage (and also JKQTPMathImage) offer with respect to determining how an image is plottet.
|
||||
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
@ -1,3 +1,9 @@
|
||||
/** \example jkqtplotter_simpletest_imageplot_opencv.cpp
|
||||
* Simple math image plot, showin a 1-channel OpenCV cv::Mat
|
||||
*
|
||||
* \ref JKQtPlotterImagePlotOpenCV
|
||||
*/
|
||||
|
||||
#include <QApplication>
|
||||
#include <cmath>
|
||||
#include "jkqtplotter/jkqtplotter.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
||||
|
||||
# JKQtPlotter
|
||||
|
||||
## Simple impulse plots
|
||||
# JKQtPlotter: Examples: Simple impulse plots {#JKQtPlotterImpulsePlots}
|
||||
This project (see `./examples/simpletest_impulsesplot/`) simply creates a JKQtPlotter widget (as a new window) and adds a single impulse graph.
|
||||
The soruce code of the main application is (see [`jkqtplotter_simpletest_impulsesplot.cpp`](../simpletest_impulsesplot/jkqtplotter_simpletest_impulsesplot.cpp).
|
||||
|
||||
@ -55,4 +51,3 @@ This code snippet results in a plot like this:
|
||||
![jkqtplotter_simpletest_impulsesplot](../../screenshots/jkqtplotter_simpletest_impulsesplot_horizontal.png)
|
||||
|
||||
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
@ -1,3 +1,9 @@
|
||||
/** \example jkqtplotter_simpletest_impulsesplot.cpp
|
||||
* Shows how to plot impulse graphs with JKQtPlotter
|
||||
*
|
||||
* \ref JKQtPlotterImpulsePlots
|
||||
*/
|
||||
|
||||
#include <QApplication>
|
||||
#include "jkqtplotter/jkqtplotter.h"
|
||||
#include "jkqtplotter/jkqtpgraphsimpulses.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
||||
|
||||
# JKQtPlotter
|
||||
|
||||
## Line Graph with Logarithmic y-axis
|
||||
# JKQtPlotter: Examples: Line Graph with Logarithmic y-axis {#JKQtPlotterLogAxes}
|
||||
This project (see `./examples/simpletest_logaxes/`) simply creates a JKQtPlotter widget (as a new window) and several line-graphs of different resonance curves.
|
||||
|
||||
The source code of the main application can be found in [`jkqtplotter_simpletest_logaxes.cpp`](../simpletest_logaxes/jkqtplotter_simpletest_logaxes.cpp). Mainly several graphs are generated in a loop and then different line styles are applied to the graphs (set by ``graph->set_style()`). The colors are set automtically from an internal default palette. The main loop looks like this:
|
||||
@ -107,4 +103,4 @@ These examples show the results for different typical values for `set_labelType(
|
||||
![logaxis_set_labelType](../../screenshots/logaxis_set_labelType.png)
|
||||
|
||||
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
||||
|
||||
|
@ -1,3 +1,9 @@
|
||||
/** \example jkqtplotter_simpletest_logaxes.cpp
|
||||
* Shows how to use logarithmic axes with JKQtPlotter
|
||||
*
|
||||
* \ref JKQtPlotterLogAxes
|
||||
*/
|
||||
|
||||
#include <QApplication>
|
||||
#include "jkqtplotter/jkqtplotter.h"
|
||||
#include "jkqtplotter/jkqtpgraphs.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
||||
|
||||
# JKQtPlotter
|
||||
|
||||
## Plotting Parametric Curves
|
||||
# JKQtPlotter: Examples: Plotting Parametric Curves {#JKQtPlotterParametricCurves}
|
||||
This project (see `./examples/simpletest_parametriccurve/`) demonstrates how to draw parametric curves, using [`JKQTPxyLineGraph`}(../simpletest) and [`JKQTPxyParametrizedScatterGraph`](../simpletest_paramscatterplot).
|
||||
|
||||
The source code of the main application can be found in [`jkqtplotter_simpletest_parametriccurve.cpp`](../simpletest_parametriccurve/jkqtplotter_simpletest_parametriccurve.cpp). First, the parametric curve (here a [logarithic spiral](https://en.wikipedia.org/wiki/Logarithmic_spiral)) is sampled into two columns containing the x- and y-values along the curve. In addition the radial distance from x=y=0 is added into a third column:
|
||||
@ -61,4 +57,3 @@ The result looks like this:
|
||||
|
||||
|
||||
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
@ -1,3 +1,9 @@
|
||||
/** \example jkqtplotter_simpletest_parametriccurve.cpp
|
||||
* Shows how to plot parametric curves from datapoints with JKQtPlotter
|
||||
*
|
||||
* \ref JKQtPlotterParametricCurves
|
||||
*/
|
||||
|
||||
#include <QApplication>
|
||||
#include "jkqtplotter/jkqtplotter.h"
|
||||
#include "jkqtplotter/jkqtpgraphs.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
||||
|
||||
# JKQtPlotter
|
||||
|
||||
## Scatter Graph with Parametrized Symbols/Colors
|
||||
# JKQtPlotter: Examples: Scatter Graph with Parametrized Symbols/Colors {#JKQtPlotterParamScatter}
|
||||
This project (see `./examples/simpletest_paramscatterplot/`) demonstrates the capabilities of `JKQTPxyParametrizedScatterGraph`. This graph class plots symbol&line-graphs, juts like [`JKQTPxyLineGraph`](../simpletest_symbols_and_styles/) and in addition modifies several properties of each plot point by data from an additional column. These properties can be modified:
|
||||
- symbol size
|
||||
- symbol type
|
||||
@ -114,4 +110,3 @@ The full test appication combines all these variants and the result looks like t
|
||||
|
||||
|
||||
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
@ -1,3 +1,9 @@
|
||||
/** \example jkqtplotter_simpletest_paramscatterplot.cpp
|
||||
* JKQtPlotter: Examples: Scatter Graph with Parametrized Symbols/Colors
|
||||
*
|
||||
* \ref JKQtPlotterParamScatter
|
||||
*/
|
||||
|
||||
#include <QApplication>
|
||||
#include "jkqtplotter/jkqtplotter.h"
|
||||
#include "jkqtplotter/jkqtpgraphs.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
||||
|
||||
# JKQtPlotter
|
||||
|
||||
## Draw an Artistic Image with a Parametrized Scatter Graph
|
||||
# JKQtPlotter: Examples: Draw an Artistic Image with a Parametrized Scatter Graph {#JKQtPlotterParamScatterImage}
|
||||
This project (see `./examples/simpletest_paramscatterplot_image/`) demonstrates the capabilities of `JKQTPxyParametrizedScatterGraph` to display parametrized scatters in a rectangular arrangement. See the test program in [`test/simpletest_paramscatterplot`](../simpletest_paramscatterplot) for a basic example of the capabilities of `JKQTPxyParametrizedScatterGraph`.
|
||||
|
||||
In this example, we load an image, convert it to greyscale and store it, together with x/y-coordinate-vectors in the datastore. Then a `JKQTPxyParametrizedScatterGraph` is used to draw the image as a pointilistic artwork, where each pixel is represented by a disk. The color of the disk is chosen from a color-palette, based on the grey-value. The size of each disk is chosen from the inverse grey value.
|
||||
@ -96,4 +92,3 @@ You can modify the example above in several ways, e.g. by choosing another symbo
|
||||
|
||||
![jkqtplotter_simpletest_paramscatterplot_image_varsymbol](../../screenshots/jkqtplotter_simpletest_paramscatterplot_image_varsymbol.png)
|
||||
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
@ -1,3 +1,9 @@
|
||||
/** \example jkqtplotter_simpletest_paramscatterplot_image.cpp
|
||||
* JKQtPlotter: Examples: Draw an Artistic Image with a Parametrized Scatter Graph
|
||||
*
|
||||
* \ref JKQtPlotterParamScatterImage
|
||||
*/
|
||||
|
||||
#include <QApplication>
|
||||
#include "jkqtplotter/jkqtplotter.h"
|
||||
#include "jkqtplotter/jkqtpgraphs.h"
|
||||
|
@ -1,9 +1,5 @@
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
||||
|
||||
# JKQtPlotter
|
||||
|
||||
## Plotting Parsed Mathematical Functions as Line Graphs
|
||||
### Plot Function f(x)
|
||||
# JKQtPlotter: Examples: Plotting Parsed Mathematical Functions as Line Graphs {#JKQtPlotterParsedFunctionPlot}
|
||||
## Plot Function f(x)
|
||||
This project (see `./examples/simpletest_parsedfunctionplot/`) demonstrates how to plot mathematical functions as line graphs. The functions are defined as strings that will be evaluated with the equation parser, integrated into JKQtPlotter.
|
||||
|
||||
Note: See the example [Plotting Mathematical Functions as Line Graphs](../simpletest_functionplot) if you don't want to draw parsed functions, but want to provide a C function, or C++ functor!
|
||||
@ -48,7 +44,7 @@ This code snippet results in a plot like this:
|
||||
|
||||
![jkqtplotter_simpletest_parsedfunctionplot](../../screenshots/jkqtplotter_simpletest_parsedfunctionplot.png)
|
||||
|
||||
### Plotting with parameters
|
||||
## Plotting with parameters
|
||||
As shown in [Plotting Mathematical Functions as Line Graphs](../simpletest_functionplot) you can also use externally set parameters in a plot function. These parameters can be double numbers and may be set with either as an internal parameter vector, or may be read from a parameter column (as shown in the [linked example](../simpletest_functionplot)). These parameters are available as variables `p1`, `p2`, ... in the function string. Here is a small example:
|
||||
|
||||
```c++
|
||||
@ -58,13 +54,13 @@ As shown in [Plotting Mathematical Functions as Line Graphs](../simpletest_funct
|
||||
parsedFunc->set_title("user function");
|
||||
```
|
||||
|
||||
### Plot Function f(y)
|
||||
## Plot Function f(y)
|
||||
If you use the graph class `JKQTPyParsedFunctionLineGraph` instead of `JKQTPxParsedFunctionLineGraph`, you can plot functions `x=f(y)` (instead of `y=f(x)`). The function from the example above will then ahve to be changed to `sin(y*8)*exp(-y/4)` and the result will look like this:
|
||||
|
||||
![jkqtplotter_simpletest_parsedfunctionplot_fy](../../screenshots/jkqtplotter_simpletest_parsedfunctionplot_fy.png)
|
||||
|
||||
|
||||
### Properties of the Adaptive Plotting Algorithm
|
||||
## Properties of the Adaptive Plotting Algorithm
|
||||
The adaptive capabilities of the rendering algorithm can be seen, when plotting e.g. `2/x`, which is drawn smoothely, even around the undefined value at `x=0`:
|
||||
|
||||
![jkqtplotter_simpletest_parsedfunctionplot_2overx.png](../../screenshots/jkqtplotter_simpletest_parsedfunctionplot_2overx.png)
|
||||
@ -74,4 +70,3 @@ With an additional checkbox in this example, you can switch drawing the actual s
|
||||
![jkqtplotter_simpletest_parsedfunctionplot_2overx_samplepoints.png](../../screenshots/jkqtplotter_simpletest_parsedfunctionplot_2overx_samplepoints.png)
|
||||
|
||||
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
@ -1,3 +1,9 @@
|
||||
/** \example jkqtplotter_simpletest_parsedfunctionplot.cpp
|
||||
* JKQtPlotter: Examples: Plotting Parsed Mathematical Functions as Line Graphs
|
||||
*
|
||||
* \ref JKQtPlotterParsedFunctionPlot
|
||||
*/
|
||||
|
||||
#include <QApplication>
|
||||
#include <QLineEdit>
|
||||
#include <QCheckBox>
|
||||
|
@ -1,8 +1,4 @@
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
||||
|
||||
# JKQtPlotter
|
||||
|
||||
## Simple RGB image plot, showing a 3-channel OpenCV cv::Mat
|
||||
# JKQtPlotter: Examples: Simple RGB image plot, showing a 3-channel OpenCV cv::Mat {#JKQtPlotterImagePlotRGBOpenCV}
|
||||
This project (see `./examples/simpletest_imageplot_opencv/`) simply creates a JKQtPlotter widget (as a new window) and adds a color-coded image plot of a mathematical function (here the Airy disk). The image is generated as an OpenCV cv::Mat image and then copied into a single column of the internal datasdtore (JKQTPMathImage could be directly used without the internal datastore).
|
||||
To copy the data a special OpenCV Interface function `JKQTPcopyCvMatToColumn()` is used, that copies the data from a cv::Mat directly into a column.
|
||||
|
||||
@ -103,4 +99,4 @@ The result looks like this:
|
||||
|
||||
The image is upside-down, because computer images use a coordinate system with 0 at the top-left (left-handed coordinate system) and the JKQtPlotter has its 0 at the bottom-left (right-handed coordinate system).
|
||||
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
||||
|
||||
|
@ -1,3 +1,9 @@
|
||||
/** \example jkqtplotter_simpletest_rgbimageplot_opencv.cpp
|
||||
* JKQtPlotter: Examples: Simple RGB image plot, showing a 3-channel OpenCV cv::Mat
|
||||
*
|
||||
* \ref JKQtPlotterImagePlotRGBOpenCV
|
||||
*/
|
||||
|
||||
#include <QApplication>
|
||||
#include <cmath>
|
||||
#include "jkqtplotter/jkqtplotter.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
||||
|
||||
# JKQtPlotter
|
||||
|
||||
## `QImage` as a Graph
|
||||
# JKQtPlotter: Examples: `QImage` as a Graph {#JKQtPlotterImagePlotQImageRGB}
|
||||
This project (see `./examples/simpletest_rgbimageplot_qt/`) simply creates a JKQtPlotter widget (as a new window) and adds an image plot with an image taken from a [QImage](http://doc.qt.io/qt-5/qimage.html) object.
|
||||
|
||||
The source code of the main application is (see [`jkqtplotter_simpletest_rgbimageplot_qt.cpp`](../simpletest_rgbimageplot_qt/jkqtplotter_simpletest_rgbimageplot_qt.cpp). the main parts are:
|
||||
@ -32,4 +28,4 @@ The result looks like this:
|
||||
![jkqtplotter_simpletest_imageplot](../../screenshots/jkqtplotter_simpletest_rgbimageplot_qt.png)
|
||||
|
||||
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
||||
|
||||
|
@ -1,3 +1,9 @@
|
||||
/** \example jkqtplotter_simpletest_rgbimageplot_qt.cpp
|
||||
* JKQtPlotter: Examples: `QImage` as a Graph
|
||||
*
|
||||
* \ref JKQtPlotterImagePlotQImageRGB
|
||||
*/
|
||||
|
||||
#include <QApplication>
|
||||
#include <cmath>
|
||||
#include "jkqtplotter/jkqtplotter.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
||||
|
||||
# JKQtPlotter
|
||||
|
||||
## Simple line-graph with live-data (speed test)
|
||||
# JKQtPlotter: Examples: Simple line-graph with live-data (speed test) {#JKQtPlotterSpeedTest}
|
||||
This project (see `./examples/simpletest_speed/`) simply creates a JKQtPlotter widget (as a new window) and adds two line-graph (a sine and a cosine wave).
|
||||
Data is stored in two [`std::array<double, NDATA>`](https://en.cppreference.com/w/cpp/container/array) objects (`X`, `Y`, and `Y2`) and the data is added as external pointer to the datastore:
|
||||
```c++
|
||||
@ -84,4 +80,3 @@ the next table summarizes some results for plotting speed under different condit
|
||||
|
||||
|
||||
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
@ -1,3 +1,9 @@
|
||||
/** \example speedtestplot.cpp
|
||||
* JKQtPlotter: Examples: Simple line-graph with live-data (speed test)
|
||||
*
|
||||
* \ref JKQtPlotterSpeedTest
|
||||
*/
|
||||
|
||||
#include "speedtestplot.h"
|
||||
#include "jkqtplotter/jkqtpgraphs.h"
|
||||
|
||||
|
@ -1,8 +1,4 @@
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
||||
|
||||
# JKQtPlotter
|
||||
|
||||
## Simple stacked barchart
|
||||
# JKQtPlotter: Examples: Simple stacked barchart {#JKQtPlotterStackedBarChart}
|
||||
This project (see `./examples/simpletest_stackedbars/`) simply creates a JKQtPlotter widget (as a new window) and adds several stacked barcharts.
|
||||
|
||||
The soruce code of the main application is (see [`jkqtplotter_simpletest_stackedbars.cpp`](../simpletest_stackedbars/jkqtplotter_simpletest_stackedbars.cpp):
|
||||
@ -113,4 +109,3 @@ The result looks like this:
|
||||
If you use `JKQTPbarHorizontalGraphStacked` instead of `JKQTPbarVerticalStackableGraph`, you'll get a result like this:
|
||||
![JKQTPbarHorizontalGraphStacked](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/doc/images/JKQTPbarHorizontalGraphStacked.png)
|
||||
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
@ -1,3 +1,9 @@
|
||||
/** \example jkqtplotter_simpletest_stackedbars.cpp
|
||||
* JKQtPlotter: Examples: Simple stacked barchart
|
||||
*
|
||||
* \ref JKQtPlotterStackedBarChart
|
||||
*/
|
||||
|
||||
#include <QApplication>
|
||||
#include "jkqtplotter/jkqtplotter.h"
|
||||
#include "jkqtplotter/jkqtpgraphs.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
||||
|
||||
# JKQtPlotter
|
||||
|
||||
## Step Line Plots in Different Styles
|
||||
# JKQtPlotter: Examples: Step Line Plots in Different Styles {#JKQtPlotterStepPlot}
|
||||
This project (see `./examples/simpletest_stepplots/`) simply creates a JKQtPlotter widget (as a new window) and adds a single line-graph (a sine-wave). Data is initialized from two QVector<double> objects.
|
||||
|
||||
The source code of the main application can be found in [`jkqtplotter_simpletest_stepplots.cpp`](../simpletest_stepplots/jkqtplotter_simpletest_stepplots.cpp). For the most part, several datasets of cosine-curves are generated. then thrre tuples of graphs are added: One of type `JKQTPxyLineGraph`, which simply indicates the location of the actual datapoints. the second is of type `JKQTPstepHorizontalGraph`, which adds the step-graph to the plot:
|
||||
@ -55,4 +51,3 @@ The result looks like this:
|
||||
|
||||
|
||||
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
@ -1,3 +1,9 @@
|
||||
/** \example jkqtplotter_simpletest_stepplots.cpp
|
||||
* JKQtPlotter: Examples: Step Line Plots in Different Styles
|
||||
*
|
||||
* \ref JKQtPlotterStepPlot
|
||||
*/
|
||||
|
||||
#include <QApplication>
|
||||
#include "jkqtplotter/jkqtplotter.h"
|
||||
#include "jkqtplotter/jkqtpgraphs.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
||||
|
||||
# JKQtPlotter
|
||||
|
||||
## Simple line-graph with error bars
|
||||
# JKQtPlotter: Examples: Simple line-graph with error bars {#JKQtPlotterSymbolsErrors}
|
||||
This project (see `./examples/simpletest_symbols_and_errors/`) simply creates a JKQtPlotter widget (as a new window) and adds a single line-graph (a sine-wave) that has y-errorbars. In addition, this example shows how to change some of the axis properties and how to use LaTeX markup to format axis labels (can actually be used for all labels in JKQtPlotter). Also, in comparison to the last example, here we initialize the data from C-type arrays (double*), instead of QVector<double> objects.
|
||||
|
||||
The soruce code of the main application is (see [`jkqtplotter_simpletest_symbols_and_errors.cpp`](../simpletest_symbols_and_errors/jkqtplotter_simpletest_symbols_and_errors.cpp):
|
||||
@ -79,4 +75,3 @@ The result looks like this:
|
||||
![jkqtplotter_simpletest_symbols_and_errors](../../screenshots/jkqtplotter_simpletest_symbols_and_errors.png)
|
||||
|
||||
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
@ -1,3 +1,9 @@
|
||||
/** \example jkqtplotter_simpletest_symbols_and_errors.cpp
|
||||
* JKQtPlotter: Examples: Simple line-graph with error bars
|
||||
*
|
||||
* \ref JKQtPlotterSymbolsErrors
|
||||
*/
|
||||
|
||||
#include <QApplication>
|
||||
#include "jkqtplotter/jkqtplotter.h"
|
||||
#include "jkqtplotter/jkqtpgraphs.h"
|
||||
|
@ -1,8 +1,4 @@
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
||||
|
||||
# JKQtPlotter
|
||||
|
||||
## Line Graph with Different Symbols and Line Styles
|
||||
# JKQtPlotter: Examples: Line Graph with Different Symbols and Line Styles {#JKQtPlotterSymbolsAndStyles}
|
||||
This project (see `./examples/simpletest_symbols_and_styles/`) simply creates a JKQtPlotter widget (as a new window) and adds a single line-graph (a sine-wave). Data is initialized from two QVector<double> objects.
|
||||
|
||||
The source code of the main application can be found in [`jkqtplotter_simpletest_symbols_and_styles.cpp`](../simpletest_symbols_and_styles/jkqtplotter_simpletest_symbols_and_styles.cpp). Mainly several graphs are generated in a loop and then different symbol and line styles are applied to the graph (set by `graph->set_symbol()` for the symbol and `graph->set_style()` for the line style). The colors are set automtically from an internal default palette. The main loop looks like this:
|
||||
@ -52,4 +48,3 @@ The result looks like this:
|
||||
|
||||
|
||||
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
@ -1,3 +1,9 @@
|
||||
/** \example jkqtplotter_simpletest_symbols_and_styles.cpp
|
||||
* JKQtPlotter: Examples: Line Graph with Different Symbols and Line Styles
|
||||
*
|
||||
* \ref JKQtPlotterSymbolsAndStyles
|
||||
*/
|
||||
|
||||
#include <QApplication>
|
||||
#include "jkqtplotter/jkqtplotter.h"
|
||||
#include "jkqtplotter/jkqtpgraphs.h"
|
||||
|
@ -1,11 +1,7 @@
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
||||
|
||||
# JKQtPlotter
|
||||
|
||||
## Using a JKQtPlotter inside a Qt User Interface Designer (UI) File
|
||||
# JKQtPlotter: Examples: Using a JKQtPlotter inside a Qt User Interface Designer (UI) File {#JKQtPlotterQtCreator}
|
||||
This project (see `./examples/simpletest_ui/`) demonstrates how to create add a `JKQtPlotter` inside the Qt Form Editor (e.g. called from of Qt Creator) into a widget.
|
||||
|
||||
### Instructions on how to use JKQtPlotter in the Qt Form Designer
|
||||
## Instructions on how to use JKQtPlotter in the Qt Form Designer
|
||||
|
||||
For this to work you have to follow the steps shown below:
|
||||
|
||||
@ -20,7 +16,7 @@ For this to work you have to follow the steps shown below:
|
||||
|
||||
|
||||
|
||||
### QMake-Project of this example
|
||||
## QMake-Project of this example
|
||||
|
||||
The QMake project for such a project looks like this (see [`jkqtplotter_simpletest_ui.pro`](../simpletest_ui/jkqtplotter_simpletest_ui.pro):
|
||||
```qmake
|
||||
@ -77,7 +73,7 @@ int main(int argc, char* argv[])
|
||||
}
|
||||
```
|
||||
|
||||
### Form Class `FormWithJKQtPlotter`
|
||||
## Form Class `FormWithJKQtPlotter`
|
||||
|
||||
The Form was designed in the Qt Form Designer within Qt Creator, using the method described above (see `formwithjkqtplotter.ui`):
|
||||
![jkqtplotter_simpletest_ui1](../../screenshots/jkqtplotter_simpletest_ui_widget.png)
|
||||
@ -144,4 +140,3 @@ If you set both axes to logarithmic and modify the plotted function a bit, you g
|
||||
|
||||
|
||||
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
@ -1,3 +1,9 @@
|
||||
/** \example formwithjkqtplotter.cpp
|
||||
* JKQtPlotter: Examples: Using a JKQtPlotter inside a Qt User Interface Designer (UI) File
|
||||
*
|
||||
* \ref JKQtPlotterQtCreator
|
||||
*/
|
||||
|
||||
#include "formwithjkqtplotter.h"
|
||||
#include "ui_formwithjkqtplotter.h"
|
||||
|
||||
|
@ -1,8 +1,4 @@
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
||||
|
||||
# JKQtPlotter
|
||||
|
||||
## Layouting Several Plots
|
||||
# JKQtPlotter: Examples: Laying out Several Plots {#JKQtPlotterMultiPlotLayout}
|
||||
This project (see `./examples/test_multiplot/`) shows how several JKQtPlotter widgets can be combined to in a layout (based on the [Qt layouting system](http://doc.qt.io/qt-5/layout.html)). It also shows how axes in such a layout can be linked to improve user experience.
|
||||
|
||||
The source code of the main application can be found in [`test_multiplot.cpp`](../test_multiplot/test_multiplot.cpp).
|
||||
@ -105,4 +101,4 @@ You push the print button (![test_multiplot](https://raw.githubusercontent.com/j
|
||||
|
||||
|
||||
|
||||
[Back to JKQTPlotter main page](../../README.md)
|
||||
|
||||
|
@ -1,3 +1,9 @@
|
||||
/** \example test_multiplot.cpp
|
||||
* JKQtPlotter: Examples: Laying out Several Plots
|
||||
*
|
||||
* \ref JKQtPlotterMultiPlotLayout
|
||||
*/
|
||||
|
||||
#include <QApplication>
|
||||
#include "jkqtplotter/jkqtplotter.h"
|
||||
#include "jkqtplotter/jkqtpgraphs.h"
|
||||
|
@ -1,7 +1,4 @@
|
||||
[Back to JKQTPlotter main page](../README.md)
|
||||
|
||||
# JKQtPlotter
|
||||
## LIB subdirectory
|
||||
# JKQtPlotter: LIB subdirectory
|
||||
|
||||
This directory contains all files that belong to the JKQtPlotter library (including the files of the JKQtFastPlotter and JKMathText). There are several ways to add these to your program:
|
||||
|
||||
@ -17,5 +14,3 @@ In the directory [`../staticlib`](../staticlib) you will find several Project fi
|
||||
### Build shared libraries (DLLs, SOs, ...)
|
||||
In the directory [`../sharedlib`](../sharedlib) you will find several Project files that build a dynamic shared library of the full JKQtPlotter (including JKQtFastPlotter and JKMathText), or of subsets of this library. You can then link against these libs in your project.
|
||||
|
||||
[Back to JKQTPlotter main page](../README.md)
|
||||
|
||||
|
@ -24,11 +24,8 @@
|
||||
Author: Jan krieger <jan@jkrieger.de>, http://www.jkrieger.de/
|
||||
*/
|
||||
|
||||
/**
|
||||
* \defgroup jkqtfastplotter JKQTFastPlotter: Speed-Optimized Plotter class
|
||||
*/
|
||||
|
||||
/** \file jkqtpfastplotter.h
|
||||
/** \file jkqtfastplotter.h
|
||||
* \ingroup jkqtfastplotter
|
||||
*/
|
||||
#ifndef JKQTFASTPLOTTER_H
|
||||
|
@ -25,9 +25,6 @@
|
||||
Author: Jan krieger <jan@jkrieger.de>, http://www.jkrieger.de/
|
||||
*/
|
||||
|
||||
/**
|
||||
* \defgroup jkqtmathtext JKQtMathText LaTeX-Renderer for Qt
|
||||
*/
|
||||
|
||||
/** \file jkqtmathtext.h
|
||||
* \ingroup jkqtmathtext
|
||||
|
@ -19,16 +19,8 @@
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* \defgroup jkqtpbaseplotter_elements Basic Plot Elements
|
||||
* \ingroup jkqtplotter_elements
|
||||
*
|
||||
* This group contains some tool classes that implement basic elements of the plot (coordinate axes, key, ...).
|
||||
* These classes are used by JKQtPlotterBase to output the plot
|
||||
*/
|
||||
|
||||
/** \file jkqtpbaseelements.h
|
||||
* \ingroup jkqtpbaseplotter_elements
|
||||
* \ingroup jkqtplotter_elements
|
||||
*/
|
||||
|
||||
#ifndef JKQTPBASEELEMENTS_H
|
||||
@ -47,7 +39,7 @@
|
||||
class JKQtBasePlotter;
|
||||
|
||||
/*! \brief this virtual class is the base for any type of coordinate axis, to be drawn by JKQTplotterBase.
|
||||
\ingroup jkqtpbaseplotter_elements
|
||||
\ingroup jkqtplotter_elements
|
||||
|
||||
This class implements all the functionality needed for a coordinate axis:
|
||||
- transform world to screen coordinates and vice versa
|
||||
@ -111,7 +103,7 @@ class JKQtBasePlotter;
|
||||
are implemented in p2x(). They can be used to show the system coordinates of the current mouse position.
|
||||
|
||||
|
||||
\section jkqtplotter_base_grids Axis Ticks and Grids
|
||||
\section jkqtplotter_base_grids_baseelemenets Axis Ticks and Grids
|
||||
|
||||
This section explains how this component draws the ticks on coordinate axes and the grids that may be drawn below
|
||||
the plots. In principle both - grids and axes - are drawn the same way, i.e. with the same step widths. There are
|
||||
@ -914,7 +906,7 @@ class LIB_EXPORT JKQTPcoordinateAxis: public QObject {
|
||||
|
||||
|
||||
/*! \brief implements a vertical axis, based on JKQTPcoordinateAxis (for most of documentation: see JKQTPcoordinateAxis).
|
||||
\ingroup jkqtpbaseplotter_elements
|
||||
\ingroup jkqtplotter_elements
|
||||
|
||||
*/
|
||||
class LIB_EXPORT JKQTPverticalAxis: public JKQTPcoordinateAxis {
|
||||
@ -954,7 +946,7 @@ class LIB_EXPORT JKQTPverticalAxis: public JKQTPcoordinateAxis {
|
||||
|
||||
|
||||
/*! \brief implements a position-indipendent vertical axis, based on JKQTPcoordinateAxis (for most of documentation: see JKQTPcoordinateAxis).
|
||||
\ingroup jkqtpbaseplotter_elements
|
||||
\ingroup jkqtplotter_elements
|
||||
|
||||
This axis may be draw at a user-supplied position (used e.g. for color bar axes)
|
||||
*/
|
||||
@ -995,7 +987,7 @@ class LIB_EXPORT JKQTPverticalIndependentAxis: public JKQTPverticalAxis {
|
||||
|
||||
|
||||
/*! \brief implements a horizontal axis, based on JKQTPcoordinateAxis (for most of documentation: see JKQTPcoordinateAxis).
|
||||
\ingroup jkqtpbaseplotter_elements
|
||||
\ingroup jkqtplotter_elements
|
||||
|
||||
*/
|
||||
class LIB_EXPORT JKQTPhorizontalAxis: public JKQTPcoordinateAxis {
|
||||
@ -1036,7 +1028,7 @@ class LIB_EXPORT JKQTPhorizontalAxis: public JKQTPcoordinateAxis {
|
||||
|
||||
|
||||
/*! \brief implements a position-indipendent horizontal axis, based on JKQTPcoordinateAxis (for most of documentation: see JKQTPcoordinateAxis).
|
||||
\ingroup jkqtpbaseplotter_elements
|
||||
\ingroup jkqtplotter_elements
|
||||
|
||||
This axis may be draw at a user-supplied position (used e.g. for color bar axes)
|
||||
*/
|
||||
|
@ -20,7 +20,7 @@
|
||||
|
||||
|
||||
/** \file jkqtpbaseplotter.cpp
|
||||
* \ingroup jkqtpbaseplotter
|
||||
* \ingroup jkqtplotter
|
||||
*/
|
||||
#include <QFileInfo>
|
||||
#if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0))
|
||||
|
@ -19,15 +19,6 @@
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* \defgroup jkqtpbaseplotter Plotter Base Class
|
||||
* \ingroup jkqtplotter
|
||||
*
|
||||
*
|
||||
* This class implements the basis for plotter classes. It contains layout management code,
|
||||
* coordinate system management ... Use JKQPlotter if you need a widget
|
||||
*/
|
||||
|
||||
/** \file jkqtpbaseplotter.h
|
||||
* \ingroup jkqtpbaseplotter
|
||||
*/
|
||||
@ -75,7 +66,7 @@ LIB_EXPORT void initJKQtBasePlotterResources();
|
||||
|
||||
|
||||
/** \brief base class for 2D plotter classes
|
||||
* \ingroup jkqtplotter
|
||||
* \ingroup jkqtpbaseplotter
|
||||
*
|
||||
* This class implements basic functionalities for the plotter classes. Those are:
|
||||
* -# data storage using a JKQTPdatastore object
|
||||
@ -115,7 +106,7 @@ LIB_EXPORT void initJKQtBasePlotterResources();
|
||||
* methods (x2p(), y2p(), p2x(), p2y() which only call the respective methods in xAxis and yAxis objects.
|
||||
*
|
||||
*
|
||||
* \section jkqtplotter_base_grids Axis Ticks and Grids
|
||||
* \section jkqtplotter_base_grids_baseplotter Axis Ticks and Grids
|
||||
* - The plotting of coordinate axes and grids, as well as coordinate transforms is done by
|
||||
* JKQTPcoordinateAxis descendents (see documentation there)
|
||||
* .
|
||||
@ -847,11 +838,13 @@ class LIB_EXPORT JKQtBasePlotter: public QObject {
|
||||
/** \brief set the datarange of all current graphs to the given values */
|
||||
void setGraphsDataRange(int datarange_start, int datarange_end);
|
||||
|
||||
/** \brief en-/disables the maintaining of the data aspect ratio */
|
||||
void set_maintainAspectRatio(bool value) {
|
||||
maintainAspectRatio=value;
|
||||
update_plot();
|
||||
}
|
||||
|
||||
/** \brief en-/disables the maintaining of the axis aspect ratio */
|
||||
void set_maintainAxisAspectRatio(bool value) {
|
||||
maintainAxisAspectRatio=value;
|
||||
update_plot();
|
||||
@ -1090,6 +1083,7 @@ class LIB_EXPORT JKQtBasePlotter: public QObject {
|
||||
int getNextStyle();
|
||||
|
||||
|
||||
/** \brief represents a pen, when plotting in JKQtPlotter/JKQtBasePlotter */
|
||||
struct JKQTPPen {
|
||||
QColor m_color;
|
||||
double m_width;
|
||||
@ -1833,11 +1827,17 @@ class LIB_EXPORT JKQtBasePlotter: public QObject {
|
||||
inline int get_plotWidth() const { return this->plotWidth; }
|
||||
/*! \brief returns the property plotHeight. \details Description of the parameter plotHeight is: <BLOCKQUOTE>\copybrief plotHeight </BLOCKQUOTE>. \see plotHeight for more information */
|
||||
inline int get_plotHeight() const { return this->plotHeight; }
|
||||
/** \brief returns the internal JKQTmathText, used to render text with LaTeX markup */
|
||||
inline JKQTmathText* get_mathText() { return &mathText; }
|
||||
/** \brief returns the internal JKQTmathText, used to render text with LaTeX markup */
|
||||
inline const JKQTmathText* get_mathText() const { return &mathText; }
|
||||
/** \brief returns the x-axis objet of the plot */
|
||||
inline JKQTPhorizontalAxis* get_xAxis() { return xAxis; }
|
||||
/** \brief returns the y-axis objet of the plot */
|
||||
inline JKQTPverticalAxis* get_yAxis() { return yAxis; }
|
||||
/** \brief returns the x-axis objet of the plot */
|
||||
inline const JKQTPhorizontalAxis* get_xAxis() const { return xAxis; }
|
||||
/** \brief returns the y-axis objet of the plot */
|
||||
inline const JKQTPverticalAxis* get_yAxis() const { return yAxis; }
|
||||
|
||||
|
||||
@ -2200,7 +2200,6 @@ class LIB_EXPORT JKQtBasePlotter: public QObject {
|
||||
public:
|
||||
|
||||
/** \brief set a global preset/default value for the userSettigsFilename and userSettigsPrefix properties of JKQtBasePlotter
|
||||
* \ingroup jkqtplotter
|
||||
*
|
||||
* These presets are application global and will be used ONLY on initialization of a JKQtBasePlotter. You can overwrite them
|
||||
* on a local-basis for each JKQtBasePrinter separately. The changed values from this function call will only take effect for
|
||||
@ -2208,6 +2207,8 @@ class LIB_EXPORT JKQtBasePlotter: public QObject {
|
||||
*/
|
||||
static void setDefaultJKQtBasePrinterUserSettings(QString userSettigsFilename, QString userSettigsPrefix);
|
||||
|
||||
/** \brief Service from this class to implement a special QPaintDevice as a plugin, that can be registered to JKQtBasePlotter/JKQtPlotter
|
||||
* and then be used to export graphics, use registerPaintDeviceAdapter() to register such a plass */
|
||||
class LIB_EXPORT JKQTPPaintDeviceAdapter {
|
||||
public:
|
||||
virtual ~JKQTPPaintDeviceAdapter() {}
|
||||
@ -2226,10 +2227,14 @@ class LIB_EXPORT JKQtBasePlotter: public QObject {
|
||||
virtual QPaintDevice* createPaintdeviceMM(const QString& filename, double widthMM, double heightMM) const;
|
||||
};
|
||||
|
||||
/** \brief register a user-defined QPaintDevice (with factory JKQTPPaintDeviceAdapter) as a plugin to JKQtBasePlotter/JKQtPlotter,
|
||||
* which will use it to export graphics */
|
||||
static void registerPaintDeviceAdapter(JKQTPPaintDeviceAdapter* adapter);
|
||||
/** \brief de-register a JKQTPPaintDeviceAdapter from JKQtBasePlotter/JKQtPlotter */
|
||||
static void deregisterPaintDeviceAdapter(JKQTPPaintDeviceAdapter* adapter);
|
||||
|
||||
|
||||
/** \brief virtual base-class for exporter classes that can be used to save data inot a file */
|
||||
class LIB_EXPORT JKQTPSaveDataAdapter {
|
||||
public:
|
||||
virtual ~JKQTPSaveDataAdapter() ;
|
||||
@ -2237,15 +2242,20 @@ class LIB_EXPORT JKQtBasePlotter: public QObject {
|
||||
virtual void saveJKQTPData(const QString& filename, const QList<QVector<double> >& data, const QStringList& columnNames) const=0;
|
||||
};
|
||||
|
||||
/** \brief register a JKQTPSaveDataAdapter with JKQtPlotter/JKQtBasePlotter that can be used to export data from the internal datastore into a file */
|
||||
static bool registerSaveDataAdapter(JKQTPSaveDataAdapter* adapter);
|
||||
/** \brief de-register a JKQTPSaveDataAdapter from JKQtPlotter/JKQtBasePlotter */
|
||||
static bool deregisterSaveDataAdapter(JKQTPSaveDataAdapter* adapter);
|
||||
|
||||
|
||||
/** \brief internal tool class for text sizes
|
||||
* \internal */
|
||||
struct LIB_EXPORT textSizeData {
|
||||
explicit textSizeData();
|
||||
double ascent, descent, width, strikeoutPos;
|
||||
};
|
||||
|
||||
/** \brief internal tool class for text-sizess in a plot key
|
||||
* \internal */
|
||||
struct LIB_EXPORT textSizeKey {
|
||||
explicit textSizeKey(const QFont& f, const QString& text, QPaintDevice *pd);
|
||||
explicit textSizeKey(const QString& fontName, double fontSize, const QString& text, QPaintDevice *pd);
|
||||
|
@ -19,17 +19,6 @@
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* \defgroup jkqtpdatastorage Data Storage Classes/System
|
||||
* \ingroup jkqtplotter
|
||||
*
|
||||
* The classes in this group implement a data storage system for use with the main plotter class.
|
||||
* Basically a table of data is generated as a set of logical columns that may be bound to different
|
||||
* data sources (internal or external memory arrays. Later on it is simply possible to plot graphs
|
||||
* using the column number and the not a link to the actual data array, as the link is stored in these
|
||||
* classes.
|
||||
*/
|
||||
|
||||
/** \file jkqtpdatastorage.h
|
||||
* \ingroup jkqtpdatastorage
|
||||
*/
|
||||
@ -252,9 +241,9 @@ class LIB_EXPORT JKQTPdatastore{
|
||||
|
||||
|
||||
|
||||
/** \brief copies the given \A old_column into a new one, reading the data with the given start column and stride */
|
||||
/** \brief copies the given \a old_column into a new one, reading the data with the given start column and stride */
|
||||
size_t copyColumn(size_t old_column, size_t start, size_t stride, const QString& name=QString(""));
|
||||
/** \brief copies the given \A old_column into a new one */
|
||||
/** \brief copies the given \a old_column into a new one */
|
||||
size_t copyColumn(size_t old_column, const QString& name=QString(""));
|
||||
|
||||
|
||||
|
@ -18,12 +18,6 @@
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* \defgroup jkqtplotter_overlays Overlay Elements
|
||||
* \ingroup jkqtplotter
|
||||
*/
|
||||
|
||||
/** \file jkqtpelementsoverlay.h
|
||||
* \ingroup jkqtplotter_overlays
|
||||
*/
|
||||
|
@ -18,14 +18,6 @@
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* \defgroup jkqtplotter_elements Plot Elements
|
||||
* \ingroup jkqtplotter
|
||||
* \defgroup jkqtplotter_plots Graphs
|
||||
* \ingroup jkqtplotter_elements
|
||||
*/
|
||||
|
||||
/** \file jkqtpgraphs.h
|
||||
* \ingroup jkqtplotter
|
||||
*/
|
||||
@ -55,7 +47,7 @@ class JKQTPdatastore;
|
||||
|
||||
|
||||
/*! \brief This implements xy line plots. This also alows to draw symbols at the data points.
|
||||
\ingroup jkqtplotter_plots
|
||||
\ingroup jkqtplotter_linesymbolgraphs
|
||||
|
||||
\image html plot_lineplots.png
|
||||
*/
|
||||
@ -259,7 +251,7 @@ class LIB_EXPORT JKQTPxyLineGraph: public JKQTPxyGraph {
|
||||
|
||||
|
||||
/*! \brief This implements xy scatter plots (like JKQTPxyLineGraph), but the color and size of the symbols may be taken from a column.
|
||||
\ingroup jkqtplotter_plots
|
||||
\ingroup jkqtplotter_linesymbolgraphs
|
||||
|
||||
set the properties sizeColumn and/or colorColumn to change the size and/or color of the symbols according to the values in the column.
|
||||
*/
|
||||
@ -486,7 +478,7 @@ class LIB_EXPORT JKQTPxyParametrizedScatterGraph: public JKQTPxyLineGraph, publi
|
||||
|
||||
|
||||
/*! \brief This implements xy line plots with x and y error indicators.
|
||||
\ingroup jkqtplotter_plots
|
||||
\ingroup jkqtplotter_linesymbolgraphs
|
||||
|
||||
\image html plot_errorbarlineplots.png
|
||||
\image html plot_errorlinelineplots.png
|
||||
@ -521,7 +513,7 @@ class LIB_EXPORT JKQTPxyLineErrorGraph: public JKQTPxyLineGraph, public JKQTPxyG
|
||||
|
||||
|
||||
/*! \brief This implements xy scatter plots (like JKQTPxyLineGraph), but the color and size of the symbols may be taken from a column. with errorbars
|
||||
\ingroup jkqtplotter_plots
|
||||
\ingroup jkqtplotter_linesymbolgraphs
|
||||
|
||||
set the properties sizeColumn and/or colorColumn to change the size and/or color of the symbols according to the values in the column.
|
||||
*/
|
||||
@ -559,7 +551,7 @@ class LIB_EXPORT JKQTPxyParametrizedErrorScatterGraph: public JKQTPxyParametrize
|
||||
|
||||
|
||||
/*! \brief This implements a step plot with values \f$ \left(x, f(x) \right) \f$
|
||||
\ingroup jkqtplotter_plots
|
||||
\ingroup jkqtplotter_linesymbolgraphs
|
||||
|
||||
A step plot starts at \f$ \left(x_{i-1}, f(x_{i-1})\right) \f$ and then goes on to
|
||||
\f$ \left(x_{i}, f(x_{i-1})\right) \f$. There it raises immediately to
|
||||
@ -732,7 +724,7 @@ class LIB_EXPORT JKQTPstepHorizontalGraph: public JKQTPxyGraph {
|
||||
|
||||
|
||||
/*! \brief This implements a step plot with values \f$ \left(f(y), y \right) \f$
|
||||
\ingroup jkqtplotter_plots
|
||||
\ingroup jkqtplotter_linesymbolgraphs
|
||||
|
||||
A step plot starts at \f$ \left(f(y_{i-1}), x_{i-1}\right) \f$ and then goes on to
|
||||
\f$ \left(f(y_{i-1}), y_{i}\right) \f$. There it raises immediately to
|
||||
@ -772,7 +764,7 @@ class LIB_EXPORT JKQTPstepVerticalGraph: public JKQTPstepHorizontalGraph {
|
||||
|
||||
/*! \brief simply marks a range (and possibly a centerline) in a plot. This may be used to display e.g. mean +/- stddev
|
||||
or a range of interest, or the range of good values, ...
|
||||
\ingroup jkqtplotter_plots
|
||||
\ingroup jkqtplotter_diverse
|
||||
|
||||
*/
|
||||
class LIB_EXPORT JKQTPhorizontalRange: public JKQTPgraph {
|
||||
@ -1137,7 +1129,7 @@ class LIB_EXPORT JKQTPhorizontalRange: public JKQTPgraph {
|
||||
|
||||
/*! \brief simply marks a range (and possibly a centerline) in a plot. This may be used to display e.g. mean +/- stddev
|
||||
or a range of interest, or the range of good values, ...
|
||||
\ingroup jkqtplotter_plots
|
||||
\ingroup jkqtplotter_diverse
|
||||
|
||||
*/
|
||||
class LIB_EXPORT JKQTPverticalRange: public JKQTPhorizontalRange {
|
||||
|
@ -18,16 +18,8 @@
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* \defgroup jkqtplotter_elements Plot Elements
|
||||
* \ingroup jkqtplotter
|
||||
* \defgroup jkqtplotter_plots Graphs
|
||||
* \ingroup jkqtplotter_elements
|
||||
*/
|
||||
|
||||
/** \file jkqtpgraphsbarchart.h
|
||||
* \ingroup jkqtplotter
|
||||
* \ingroup jkqtplotter_barssticks
|
||||
*/
|
||||
|
||||
#include <QString>
|
||||
@ -44,7 +36,7 @@
|
||||
|
||||
|
||||
/*! \brief This implements a bar graph with bars starting at \f$ y=0 \f$ to \f$ y=f(x) \f$
|
||||
\ingroup jkqtplotter_plots
|
||||
\ingroup jkqtplotter_barssticks
|
||||
|
||||
This class plots a bargraph. This image explains the parameters:
|
||||
|
||||
@ -285,7 +277,7 @@ class LIB_EXPORT JKQTPbarVerticalGraph: public JKQTPxyGraph {
|
||||
|
||||
/*! \brief This implements a bar graph with bars starting at \f$ y=0 \f$ to \f$ y=f(x) \f$
|
||||
* Optionally several graphs of this type may be stacked on top of each other
|
||||
* \ingroup jkqtplotter_plots
|
||||
* \ingroup jkqtplotter_barssticks
|
||||
*
|
||||
* Draw stacked barcharts by connecting several plots by calling \c set_stackedParent(belowPlot) for each plot
|
||||
* \image html JKQTPbarVerticalGraphStacked.png
|
||||
@ -324,7 +316,7 @@ class LIB_EXPORT JKQTPbarVerticalStackableGraph: public JKQTPbarVerticalGraph {
|
||||
|
||||
/*! \brief This implements a bar graph with bars starting at \f$ y=0 \f$ to \f$ y=f(x) \f$
|
||||
* and error indicator
|
||||
* \ingroup jkqtplotter_plots
|
||||
* \ingroup jkqtplotter_barssticks
|
||||
*
|
||||
* This works much the same as JKQTPbarHorizontalGraph. Here is an example output:
|
||||
* \image html plot_bargraphverploterr.png
|
||||
@ -355,7 +347,7 @@ class LIB_EXPORT JKQTPbarVerticalErrorGraph: public JKQTPbarVerticalGraph, publi
|
||||
|
||||
|
||||
/*! \brief This implements a bar graph with bars starting at \f$ x=0 \f$ to \f$ x=f(y) \f$
|
||||
\ingroup jkqtplotter_plots
|
||||
\ingroup jkqtplotter_barssticks
|
||||
|
||||
This works much the same as JKQTPbarHorizontalGraph. Here is an example output:
|
||||
\image html plot_bargraphhorplot.png
|
||||
@ -391,7 +383,7 @@ class LIB_EXPORT JKQTPbarHorizontalGraph: public JKQTPbarVerticalGraph {
|
||||
|
||||
/*! \brief This implements a bar graph with bars starting at \f$ y=0 \f$ to \f$ y=f(x) \f$
|
||||
* Optionally several graphs of this type may be stacked on top of each other
|
||||
* \ingroup jkqtplotter_plots
|
||||
* \ingroup jkqtplotter_barssticks
|
||||
*
|
||||
* Draw stacked barcharts by connecting several plots by calling \c set_stackedParent(belowPlot) for each plot
|
||||
* \image html JKQTPbarHorizontalGraphStacked.png
|
||||
@ -430,7 +422,7 @@ class LIB_EXPORT JKQTPbarHorizontalStackableGraph: public JKQTPbarHorizontalGrap
|
||||
|
||||
/*! \brief This implements a bar graph with bars starting at \f$ x=0 \f$ to \f$ x=f(y) \f$
|
||||
* and error indicator
|
||||
* \ingroup jkqtplotter_plots
|
||||
* \ingroup jkqtplotter_barssticks
|
||||
*
|
||||
* This works much the same as JKQTPbarHorizontalGraph. Here is an example output:
|
||||
* \image html plot_bargraphhorploterr.png
|
||||
|
@ -18,16 +18,8 @@
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* \defgroup jkqtplotter_elements Plot Elements
|
||||
* \ingroup jkqtplotter
|
||||
* \defgroup jkqtplotter_plots Graphs
|
||||
* \ingroup jkqtplotter_elements
|
||||
*/
|
||||
|
||||
/** \file jkqtpgraphsbase.h
|
||||
* \ingroup jkqtplotter
|
||||
* \ingroup jkqtplotter_basegraphs
|
||||
*/
|
||||
|
||||
#include <QString>
|
||||
@ -48,7 +40,7 @@ class JKQTPdatastore;
|
||||
|
||||
/** \brief this virtual base class of every element, which is part of a JKQtPlotter plot and may appear in its key
|
||||
* (basically any type of graph, except overlay elements!)
|
||||
* \ingroup jkqtplotter_plots
|
||||
* \ingroup jkqtplotter_basegraphs
|
||||
*
|
||||
* Each possible graph is represented by a child of this class. So additional plots may be created by
|
||||
* deriving new JKQTPgraph classes. To do so implement/overwrite these functions:
|
||||
@ -210,7 +202,7 @@ class LIB_EXPORT JKQTPplotElement: public QObject {
|
||||
* which are part of a JKQtPlotter plot and which use the coordinate system
|
||||
* of the JKQtPlotter (i.e. the two coordinate axes get_xAxis() and get_yAxis())
|
||||
* as basis for the graphs
|
||||
* \ingroup jkqtplotter_plots
|
||||
* \ingroup jkqtplotter_basegraphs
|
||||
*
|
||||
* This class adds several features to work with data columns. In addition this class adds protected
|
||||
* functions that do coordinate transforms based on the current coordinate system, of the paren
|
||||
@ -303,7 +295,7 @@ class LIB_EXPORT JKQTPgraph: public JKQTPplotElement {
|
||||
* represent geometric forms or annotations. They have extended coordinate transform capabilities, because
|
||||
* in addition to using the plot coordinates, you can also choose to use different other
|
||||
* coordinate systems
|
||||
* \ingroup jkqtplotter_plots
|
||||
* \ingroup jkqtplotter_basegraphs
|
||||
*
|
||||
*/
|
||||
class LIB_EXPORT JKQTPplotObject: public JKQTPplotElement {
|
||||
@ -327,7 +319,7 @@ class LIB_EXPORT JKQTPplotObject: public JKQTPplotElement {
|
||||
|
||||
/*! \brief This virtual JKQTPgraph descendent may be used as base for all graphs that use at least two columns
|
||||
that specify x and y coordinates for the single plot points.
|
||||
\ingroup jkqtplotter_plots
|
||||
\ingroup jkqtplotter_basegraphs
|
||||
|
||||
This class implements basic management facilities for the data columns and implements the function
|
||||
- bool getXMinMax(double& minx, double& maxx, double& smallestGreaterZero);
|
||||
@ -443,7 +435,7 @@ class LIB_EXPORT JKQTPxyGraph: public JKQTPgraph {
|
||||
|
||||
/*! \brief This virtual JKQTPgraph descendent may be used as base for all graphs that use at least one column
|
||||
of data
|
||||
\ingroup jkqtplotter_plots
|
||||
\ingroup jkqtplotter_basegraphs
|
||||
|
||||
|
||||
*/
|
||||
@ -586,7 +578,7 @@ class LIB_EXPORT JKQTPsingleColumnGraph: public JKQTPgraph {
|
||||
|
||||
|
||||
/*! \brief Descendents of this class add data fields for error indicators and methods to plot them to a class.
|
||||
\ingroup jkqtplotter_plots
|
||||
\ingroup jkqtplotter_basegraphserrors
|
||||
|
||||
This class is meant to be used with multiple inheritance. I.e. if you implemented some kind of plot
|
||||
you may derive an error plot class in which you will have to overwrite the JKQTPgraph::drawErrorsBefor()
|
||||
@ -730,7 +722,7 @@ class LIB_EXPORT JKQTPgraphErrors {
|
||||
|
||||
|
||||
/*! \brief This class adds data fields for error indicators in x direction to a JKQTPgraph descendent.
|
||||
\ingroup jkqtplotter_plots
|
||||
\ingroup jkqtplotter_basegraphserrors
|
||||
\see JKQTPgraphErrors
|
||||
*/
|
||||
class LIB_EXPORT JKQTPxGraphErrors: public JKQTPgraphErrors {
|
||||
@ -799,7 +791,7 @@ class LIB_EXPORT JKQTPxGraphErrors: public JKQTPgraphErrors {
|
||||
|
||||
|
||||
/*! \brief This class adds data fields for error indicators in y direction to a class.
|
||||
\ingroup jkqtplotter_plots
|
||||
\ingroup jkqtplotter_basegraphserrors
|
||||
\see JKQTPgraphErrors
|
||||
|
||||
*/
|
||||
@ -867,7 +859,7 @@ class LIB_EXPORT JKQTPyGraphErrors: public JKQTPgraphErrors {
|
||||
|
||||
|
||||
/*! \brief This class adds data fields for error indicators in x and y direction to a class.
|
||||
\ingroup jkqtplotter_plots
|
||||
\ingroup jkqtplotter_basegraphserrors
|
||||
\see JKQTPgraphErrors
|
||||
|
||||
*/
|
||||
|
@ -18,16 +18,8 @@
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* \defgroup jkqtplotter_elements Plot Elements
|
||||
* \ingroup jkqtplotter
|
||||
* \defgroup jkqtplotter_plots Graphs
|
||||
* \ingroup jkqtplotter_elements
|
||||
*/
|
||||
|
||||
/** \file jkqtpgraphsboxplot.h
|
||||
* \ingroup jkqtplotter
|
||||
* \ingroup jkqtplotter_statgraphs
|
||||
*/
|
||||
|
||||
#include <QString>
|
||||
@ -45,7 +37,7 @@
|
||||
|
||||
|
||||
/*! \brief This implements vertical <a href="http://en.wikipedia.org/wiki/Box_plot">boxplots</a>
|
||||
\ingroup jkqtplotter_plots
|
||||
\ingroup jkqtplotter_statgraphs
|
||||
|
||||
the x position is given in posColumn. All other data are given in the medianColumn, minColumn, maxColumn,
|
||||
percentile25Column and percentile75Column.
|
||||
@ -414,7 +406,7 @@ class LIB_EXPORT JKQTPboxplotVerticalGraph: public JKQTPgraph {
|
||||
|
||||
|
||||
/*! \brief This implements horizontal <a href="http://en.wikipedia.org/wiki/Box_plot">boxplots</a>
|
||||
\ingroup jkqtplotter_plots
|
||||
\ingroup jkqtplotter_statgraphs
|
||||
|
||||
the x position is given in posColumn. All other data are given in the medianColumn, minColumn, maxColumn,
|
||||
percentile25Column and percentile75Column.
|
||||
@ -455,7 +447,7 @@ class LIB_EXPORT JKQTPboxplotHorizontalGraph: public JKQTPboxplotVerticalGraph {
|
||||
|
||||
/*! \brief This implements a vertical <a href="http://en.wikipedia.org/wiki/Box_plot">boxplot</a> where the data is directly given to the
|
||||
object and not stored in a column, as in JKQTPboxplotVerticalGraph
|
||||
\ingroup jkqtplotter_plots
|
||||
\ingroup jkqtplotter_statgraphs
|
||||
|
||||
the x position is given in posColumn. All other data are given in the median, min, max,
|
||||
percentile25 and percentile75.
|
||||
@ -806,7 +798,7 @@ class LIB_EXPORT JKQTPboxplotVerticalElement: public JKQTPgraph {
|
||||
|
||||
/*! \brief This implements a horizontal <a href="http://en.wikipedia.org/wiki/Box_plot">boxplot</a> where the data is directly given to the
|
||||
object and not stored in a column, as in JKQTPboxplotVerticalGraph
|
||||
\ingroup jkqtplotter_plots
|
||||
\ingroup jkqtplotter_statgraphs
|
||||
|
||||
the x position is given in pos. All other data are given in the median, min, max,
|
||||
percentile25 and percentile75.
|
||||
|
@ -19,15 +19,8 @@
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* \defgroup jkqtplotter_elements Plot Elements
|
||||
* \ingroup jkqtplotter
|
||||
* \defgroup jkqtplotter_plots Graphs
|
||||
* \ingroup jkqtplotter_elements
|
||||
*/
|
||||
|
||||
/** \file jkqtpgraphsevaluatedfunction.h
|
||||
* \ingroup jkqtplotter
|
||||
* \ingroup jkqtplotter_Fgraphs
|
||||
*/
|
||||
|
||||
#include <QString>
|
||||
@ -44,7 +37,7 @@
|
||||
|
||||
|
||||
/*! \brief type of functions that may be plottet
|
||||
\ingroup jkqtplotter_plots
|
||||
\ingroup jkqtplotter_Fgraphs
|
||||
|
||||
This is the type of functions \f$ y=f(x, \vec{p}) \f$ that may be plottet by JKQTPxFunctionLineGraph
|
||||
and JKQTPyFunctionLineGraph. It is possible to supply parameters \f$ \vec{p} \f$ to the function that
|
||||
@ -54,7 +47,7 @@
|
||||
typedef std::function<double(double, void*)> jkqtpPlotFunctionType;
|
||||
|
||||
/*! \brief simplified type of functions (without parameters) that may be plottet
|
||||
\ingroup jkqtplotter_plots
|
||||
\ingroup jkqtplotter_Fgraphs
|
||||
|
||||
This is the type of functions \f$ y=f(x) \f$ that may be plottet by JKQTPxFunctionLineGraph
|
||||
and JKQTPyFunctionLineGraph.
|
||||
@ -63,7 +56,7 @@ typedef std::function<double(double)> jkqtpSimplePlotFunctionType;
|
||||
|
||||
|
||||
/*! \brief This implements line plots where the data is taken from a user supplied function \f$ y=f(x) \f$
|
||||
\ingroup jkqtplotter_plots
|
||||
\ingroup jkqtplotter_Fgraphs
|
||||
|
||||
This class implements an intelligent plotting algorithm for functions. It starts by sampling
|
||||
the function at minSamples positions. Then each function interval is bisected recursively if
|
||||
@ -628,7 +621,7 @@ class LIB_EXPORT JKQTPxFunctionLineGraph: public JKQTPgraph {
|
||||
};
|
||||
|
||||
/*! \brief This implements line plots where the data is taken from a user supplied function \f$ x=f(y) \f$
|
||||
\ingroup jkqtplotter_plots
|
||||
\ingroup jkqtplotter_Fgraphs
|
||||
|
||||
*/
|
||||
class LIB_EXPORT JKQTPyFunctionLineGraph: public JKQTPxFunctionLineGraph {
|
||||
|
@ -29,7 +29,7 @@
|
||||
|
||||
|
||||
/*! \brief This implements filled curve plots where the area is filled between the plot line and the x-Axis.
|
||||
\ingroup jkqtplotter_plots
|
||||
\ingroup jkqtplotter_linesymbolgraphs
|
||||
|
||||
\image html plot_filledcurvexplots.png
|
||||
*/
|
||||
@ -208,7 +208,7 @@ class LIB_EXPORT JKQTPfilledCurveXGraph: public JKQTPxyGraph {
|
||||
|
||||
|
||||
/*! \brief This implements filled curve plots with y errors where the area is filled between the plot line and the x-Axis.
|
||||
\ingroup jkqtplotter_plots
|
||||
\ingroup jkqtplotter_linesymbolgraphs
|
||||
|
||||
\image html plot_filledcurvexerrorplots.png
|
||||
*/
|
||||
@ -234,7 +234,7 @@ class LIB_EXPORT JKQTPfilledCurveXErrorGraph: public JKQTPfilledCurveXGraph, pub
|
||||
|
||||
|
||||
/*! \brief This implements filled curve plots where the area is filled between the plot line and y-Axis
|
||||
\ingroup jkqtplotter_plots
|
||||
\ingroup jkqtplotter_linesymbolgraphs
|
||||
|
||||
\image html plot_filledcurveyplots.png
|
||||
*/
|
||||
@ -253,7 +253,7 @@ class LIB_EXPORT JKQTPfilledCurveYGraph: public JKQTPfilledCurveXGraph {
|
||||
|
||||
|
||||
/*! \brief This implements filled curve plots with y errors where the area is filled between the plot line and the x-Axis.
|
||||
\ingroup jkqtplotter_plots
|
||||
\ingroup jkqtplotter_linesymbolgraphs
|
||||
|
||||
\image html plot_filledcurveyerrorplots.png
|
||||
*/
|
||||
@ -279,7 +279,7 @@ class LIB_EXPORT JKQTPfilledCurveYErrorGraph: public JKQTPfilledCurveYGraph, pub
|
||||
|
||||
|
||||
/*! \brief This implements filled curve plots where the area is filled between two data columns for each x-value
|
||||
\ingroup jkqtplotter_plots
|
||||
\ingroup jkqtplotter_linesymbolgraphs
|
||||
|
||||
With set_drawlines(false):
|
||||
\image html JKQTPfilledVerticalRangeGraph.png
|
||||
|
@ -19,13 +19,6 @@
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* \defgroup jkqtplotter_geoplots Geometric Elements (Lines, Rectangles, ...)
|
||||
* \ingroup jkqtplotter_elements
|
||||
|
||||
*/
|
||||
|
||||
/** \file jkqtpgraphsgeometric.h
|
||||
* \ingroup jkqtplotter_geoplots
|
||||
*/
|
||||
|
@ -23,15 +23,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* \defgroup jkqtplotter_imagelots Image Plotting Elements
|
||||
* \ingroup jkqtplotter_elements
|
||||
|
||||
*/
|
||||
|
||||
/** \file jkqtpgraphsimage.h
|
||||
* \ingroup jkqtplotter_imagelots
|
||||
* \ingroup jkqtplotter_imagelots_elements
|
||||
*/
|
||||
|
||||
#include <QString>
|
||||
@ -47,8 +40,7 @@
|
||||
|
||||
|
||||
/*! \brief base class for plotting an image
|
||||
\ingroup jkqtplotter_imagelots
|
||||
|
||||
\ingroup jkqtplotter_imagelots_elements
|
||||
*/
|
||||
class LIB_EXPORT JKQTPImageBase: public JKQTPgraph {
|
||||
Q_OBJECT
|
||||
@ -156,7 +148,9 @@ class LIB_EXPORT JKQTPImageBase: public JKQTPgraph {
|
||||
|
||||
|
||||
/*! \brief base class to hold an image from an 2-dimensional array of values
|
||||
\ingroup jkqtplotter_imagelots
|
||||
\ingroup jkqtplotter_imagelots_elements
|
||||
|
||||
\image html jkqtplotter_simpletest_imageplot.png
|
||||
|
||||
*/
|
||||
class LIB_EXPORT JKQTPMathImageBase: public JKQTPImageBase {
|
||||
@ -358,8 +352,9 @@ class LIB_EXPORT JKQTPMathImageBase: public JKQTPImageBase {
|
||||
|
||||
|
||||
/*! \brief class to plot an image from a QImage object
|
||||
\ingroup jkqtplotter_imagelots
|
||||
\ingroup jkqtplotter_imagelots_elements
|
||||
|
||||
\image html jkqtplotter_simpletest_rgbimageplot_qt
|
||||
*/
|
||||
class LIB_EXPORT JKQTPImage: public JKQTPImageBase {
|
||||
Q_OBJECT
|
||||
@ -421,8 +416,11 @@ class LIB_EXPORT JKQTPImage: public JKQTPImageBase {
|
||||
|
||||
|
||||
/*! \brief class to plot an image from an 2-dimensional array of values
|
||||
\ingroup jkqtplotter_imagelots
|
||||
\ingroup jkqtplotter_imagelots_elements
|
||||
|
||||
\image html jkqtplotter_simpletest_imageplot.png
|
||||
\image html jkqtplotter_simpletest_imageplot_modifier.png
|
||||
\image html jkqtplotter_simpletest_imageplot__smallscaletransparent.png
|
||||
*/
|
||||
class LIB_EXPORT JKQTPMathImage: public JKQTPMathImageBase {
|
||||
Q_OBJECT
|
||||
@ -908,8 +906,9 @@ class LIB_EXPORT JKQTPMathImage: public JKQTPMathImageBase {
|
||||
|
||||
|
||||
/*! \brief class to plot an image from an 2-dimensional array of values
|
||||
\ingroup jkqtplotter_imagelots
|
||||
\ingroup jkqtplotter_imagelots_elements
|
||||
|
||||
\image html jkqtplotter_simpletest_rgbimageplot_opencv.png
|
||||
*/
|
||||
class LIB_EXPORT JKQTPRGBMathImage: public JKQTPMathImageBase {
|
||||
Q_OBJECT
|
||||
@ -1422,7 +1421,11 @@ class LIB_EXPORT JKQTPRGBMathImage: public JKQTPMathImageBase {
|
||||
|
||||
|
||||
/*! \brief class to plot an image from an 2-dimensional array of values stored in a column of the datastore
|
||||
\ingroup jkqtplotter_imagelots
|
||||
\ingroup jkqtplotter_imagelots_elements
|
||||
|
||||
\image html jkqtplotter_simpletest_imageplot.png
|
||||
\image html jkqtplotter_simpletest_imageplot_modifier.png
|
||||
\image html jkqtplotter_simpletest_imageplot__smallscaletransparent.png
|
||||
|
||||
*/
|
||||
class LIB_EXPORT JKQTPColumnMathImage: public JKQTPMathImage {
|
||||
@ -1484,8 +1487,10 @@ class LIB_EXPORT JKQTPColumnMathImage: public JKQTPMathImage {
|
||||
|
||||
|
||||
/*! \brief like JKQTPRGBMathImage but reads images from columns of the datastore
|
||||
\ingroup jkqtplotter_imagelots
|
||||
\ingroup jkqtplotter_imagelots_elements
|
||||
|
||||
|
||||
\image html jkqtplotter_simpletest_rgbimageplot_opencv.png
|
||||
*/
|
||||
class LIB_EXPORT JKQTPColumnRGBMathImage: public JKQTPRGBMathImage {
|
||||
Q_OBJECT
|
||||
@ -1578,7 +1583,7 @@ class LIB_EXPORT JKQTPColumnRGBMathImage: public JKQTPRGBMathImage {
|
||||
|
||||
|
||||
/*! \brief class to plot an image from an 2-dimensional array of boolean values: alle \c true values are plotted in a given color, while the \c false pixels are drawn in another (default: transparent)
|
||||
\ingroup jkqtplotter_imagelots
|
||||
\ingroup jkqtplotter_imagelots_elements
|
||||
|
||||
*/
|
||||
class LIB_EXPORT JKQTPOverlayImage: public JKQTPImageBase {
|
||||
@ -1707,7 +1712,7 @@ class LIB_EXPORT JKQTPOverlayImage: public JKQTPImageBase {
|
||||
|
||||
|
||||
/*! \brief class to plot an image from an 2-dimensional array of boolean values: alle \c true values are plotted in a given color, while the \c false pixels are drawn in another (default: transparent)
|
||||
\ingroup jkqtplotter_imagelots
|
||||
\ingroup jkqtplotter_imagelots_elements
|
||||
|
||||
In contrast to JKQTPOverlayImage this class draws ist contents as rectangles, not as semi-transparent image. This may lead to nicer results,but could be slower.
|
||||
Also it is possible to draw other types of markers (cross, circles, ...)
|
||||
@ -1820,7 +1825,7 @@ class LIB_EXPORT JKQTPOverlayImageEnhanced: public JKQTPOverlayImage {
|
||||
|
||||
|
||||
/*! \brief class to plot an image from an 2-dimensional array of boolean values: alle \c true values are plotted in a given color, while the \c false pixels are drawn in another (default: transparent)
|
||||
\ingroup jkqtplotter_imagelots
|
||||
\ingroup jkqtplotter_imagelots_elements
|
||||
|
||||
In contrast to JKQTPOverlayImage this class draws ist contents as rectangles, not as semi-transparent image. This may lead to nicer results,but could be slower.
|
||||
Also it is possible to draw other types of markers (cross, circles, ...)
|
||||
@ -1861,7 +1866,7 @@ class LIB_EXPORT JKQTPColumnOverlayImageEnhanced: public JKQTPOverlayImageEnhanc
|
||||
|
||||
|
||||
/*! \brief class for a contour plot
|
||||
* \ingroup jkqtplotter_imagelots
|
||||
* \ingroup jkqtplotter_imagelots_contour
|
||||
* calculates the contour of a given image using the CONREC algorithm
|
||||
* <a href="http://paulbourke.net/papers/conrec/">http://paulbourke.net/papers/conrec/</a>
|
||||
* The implementation for Qt is adapted from Qwt
|
||||
@ -1875,6 +1880,8 @@ class LIB_EXPORT JKQTPColumnOverlayImageEnhanced: public JKQTPOverlayImageEnhanc
|
||||
* with logarithmic spacing.
|
||||
*
|
||||
* \author Sebastian Isbaner, 2013-2014
|
||||
*
|
||||
* \image html JKQTPContour.png
|
||||
*/
|
||||
class LIB_EXPORT JKQTPContour: public JKQTPMathImage {
|
||||
Q_OBJECT
|
||||
|
@ -27,7 +27,7 @@
|
||||
|
||||
|
||||
/*! \brief This implements an impulse plot with impulses in direction of the X axis (i.e. from y=0 to y=f(x) )
|
||||
\ingroup jkqtplotter_plots
|
||||
\ingroup jkqtplotter_barssticks
|
||||
|
||||
\image html plot_impulsesxplots.png
|
||||
*/
|
||||
@ -107,7 +107,7 @@ class LIB_EXPORT JKQTPimpulsesHorizontalGraph: public JKQTPxyGraph {
|
||||
|
||||
|
||||
/*! \brief This implements an impulse plot with impulses in direction of the X axis (i.e. from x=0 to x=f(y) )
|
||||
\ingroup jkqtplotter_plots
|
||||
\ingroup jkqtplotter_barssticks
|
||||
|
||||
\image html plot_impulsesxerrorsplots.png
|
||||
*/
|
||||
@ -130,7 +130,7 @@ class LIB_EXPORT JKQTPimpulsesHorizontalErrorGraph: public JKQTPimpulsesHorizont
|
||||
|
||||
|
||||
/*! \brief This implements an impulse plot with impulses in direction of the Y axis (i.e. from y=0 to y=f(x) )
|
||||
\ingroup jkqtplotter_plots
|
||||
\ingroup jkqtplotter_barssticks
|
||||
|
||||
\image html plot_impulsesyplots.png
|
||||
*/
|
||||
@ -149,7 +149,7 @@ class LIB_EXPORT JKQTPimpulsesVerticalGraph: public JKQTPimpulsesHorizontalGraph
|
||||
|
||||
|
||||
/*! \brief This implements an impulse plot with impulses in direction of the X axis (i.e. from x=0 to x=f(y) )
|
||||
\ingroup jkqtplotter_plots
|
||||
\ingroup jkqtplotter_barssticks
|
||||
|
||||
\image html plot_impulsesyerrorsplots.png
|
||||
*/
|
||||
|
@ -36,7 +36,7 @@ class JKQtPlotter;
|
||||
|
||||
|
||||
/*! \brief This implements line plots where the data is taken from a user supplied function \f$ y=f(x) \f$ The function is defined as a string and parsed by JKMathParser
|
||||
\ingroup jkqtplotter_plots
|
||||
\ingroup jkqtplotter_parsedFgraphs
|
||||
|
||||
Additional function parameters may be given in the vector parameters. They are accessible in the function as \c p1 , \c p2 , \c p3 , ...
|
||||
Parameters may also be given from a data column. Then first the params from the column and the the parameters from the vector are numbered.
|
||||
@ -122,7 +122,7 @@ class LIB_EXPORT JKQTPxParsedFunctionLineGraph: public JKQTPxFunctionLineGraph {
|
||||
|
||||
|
||||
/*! \brief This implements line plots where the data is taken from a user supplied function \f$ x=f(y) \f$ The function is defined as a string and parsed by JKMathParser
|
||||
\ingroup jkqtplotter_plots
|
||||
\ingroup jkqtplotter_parsedFgraphs
|
||||
|
||||
Additional function parameters may be given in the vector parameters. They are accessible in the function as \c p1 , \c p2 , \c p3 , ...
|
||||
Parameters may also be given from a data column. Then first the params from the column and the the parameters from the vector are numbered.
|
||||
|
@ -18,14 +18,6 @@
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* \defgroup jkqtplotter_elements Plot Elements
|
||||
* \ingroup jkqtplotter
|
||||
* \defgroup jkqtplotter_plots Graphs
|
||||
* \ingroup jkqtplotter_elements
|
||||
*/
|
||||
|
||||
/** \file jkqtpgraphspeakstream.h
|
||||
* \ingroup jkqtplotter
|
||||
*/
|
||||
@ -48,7 +40,7 @@ class JKQTPdatastore;
|
||||
/*! \brief interprets data as a stream of x- or y-positions \f$ p_i \f$ (depending in \a yPeaks ) ans plots a line on the height
|
||||
\a baseline and upright lines from baseline to baseline+peakHeight at each position \f$ p_i \f$. This can be used to
|
||||
display a stream of photons with given arrivaltimes \f$ p_i \f$.
|
||||
\ingroup jkqtplotter_plots
|
||||
\ingroup jkqtplotter_diverse
|
||||
|
||||
\image html JKQTPPeakStreamGraphY.png "yPeaks=true"
|
||||
\image html JKQTPPeakStreamGraphX.png "yPeaks=false"
|
||||
|
@ -1,27 +0,0 @@
|
||||
/*! \defgroup tools Tool Routines and Classes
|
||||
|
||||
This group contains a set of tools that I've written over the years to enhance the
|
||||
C++ standard library.
|
||||
|
||||
\defgroup tools_containers Additional Container Classes
|
||||
\ingroup tools
|
||||
|
||||
\defgroup tools_classes Various Tool Classes
|
||||
\ingroup tools
|
||||
|
||||
\defgroup tools_math Tools for Mathematical Computations & Equation Parsing
|
||||
\ingroup tools
|
||||
|
||||
\defgroup tools_math_linalg Linear Algebra
|
||||
\ingroup tools_math
|
||||
|
||||
\defgroup tools_math_func Mathematical Functions
|
||||
\ingroup tools_math
|
||||
|
||||
\defgroup tools_math_stat Statistics Functions
|
||||
\ingroup tools_math
|
||||
|
||||
\defgroup tools_qt Additional Widgets/Tools for Qt
|
||||
\ingroup tools
|
||||
|
||||
*/
|
@ -19,13 +19,6 @@
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* \defgroup jkqtplotter JKQtPlotter: Qt based Scientific Plotter Class
|
||||
*
|
||||
* A Qt based plotter for 2D scientific graphs.
|
||||
*/
|
||||
|
||||
/** \file jkqtplotter.h
|
||||
* \ingroup jkqtplotter
|
||||
*
|
||||
@ -60,7 +53,9 @@
|
||||
#ifndef JKQTPLOTTER_H
|
||||
#define JKQTPLOTTER_H
|
||||
|
||||
/** \brief initialized Qt-ressources necessary for JKQtPlotter */
|
||||
/** \brief initialized Qt-ressources necessary for JKQtPlotter
|
||||
* \ingroup jkqtplotter
|
||||
*/
|
||||
LIB_EXPORT void initJKQtPlotterResources();
|
||||
|
||||
|
||||
|
@ -19,13 +19,6 @@
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* \defgroup jkqtpopencvinterface OpenCV Interfaceing Tools
|
||||
* \ingroup jkqtplotter
|
||||
*
|
||||
* Classes and functions in this group allow JKQtPlotter to directly work with <a href="https://opencv.org/">OpenCV</a> data structures.
|
||||
*/
|
||||
|
||||
/** \file jkqtpopencvinterface.h
|
||||
* \ingroup jkqtpopencvinterface
|
||||
*/
|
||||
@ -39,6 +32,7 @@
|
||||
|
||||
|
||||
/** \brief add one external column to the datastore. It will be filled with the contents of vector \a data.
|
||||
* \ingroup jkqtpopencvinterface
|
||||
*
|
||||
* \param datastore the datastore to which the <a href="https://opencv.org/">OpenCV</a> matrix shuld be added (as column)
|
||||
* \param mat <a href="https://docs.opencv.org/master/d3/d63/classcv_1_1Mat.html">OpenCV-matrix</a> to store here
|
||||
@ -56,6 +50,9 @@ inline size_t JKQTPcopyCvMatToColumn(JKQTPdatastore* datastore, const cv::Mat& m
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////
|
||||
namespace JKQTPdatastore_Helper {
|
||||
/** \brief internal helper function for JKQTPcopyCvMatToColumn()
|
||||
* \ingroup jkqtpopencvinterface
|
||||
* \internal */
|
||||
template <typename TPixel>
|
||||
inline void copyDataFromMat(double* data, const cv::Mat& mat, int channel) {
|
||||
size_t r=0;
|
||||
|
@ -20,7 +20,7 @@
|
||||
|
||||
|
||||
/** \file jkqtpcomboboxes.cpp
|
||||
* \ingroup jkqtpbaseplotter
|
||||
* \ingroup jkqtplotter
|
||||
*/
|
||||
|
||||
#include "jkqtplottergui/jkqtpcomboboxes.h"
|
||||
|
@ -19,15 +19,8 @@
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* \defgroup jkqtpcomboboxes diverse comboboxes for properties of JKQtPlotter
|
||||
* \ingroup jkqtpbaseplotter
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
/** \file jkqtpcomboboxes.h
|
||||
* \ingroup jkqtpbaseplotter
|
||||
* \ingroup jkqtplotter
|
||||
*/
|
||||
|
||||
#ifndef JKQTPCOMBOBOXES_H
|
||||
@ -43,8 +36,9 @@
|
||||
|
||||
|
||||
/*! \brief class to plot an image from an 2-dimensional array of values
|
||||
\ingroup jkqtplotter_imagelots
|
||||
\ingroup jkqtpcomboboxes
|
||||
|
||||
\image html JKQTPMathImageColorPaletteComboBox.png
|
||||
*/
|
||||
class LIB_EXPORT JKQTPMathImageColorPaletteComboBox: public QComboBox {
|
||||
Q_OBJECT
|
||||
@ -65,7 +59,7 @@ class LIB_EXPORT JKQTPMathImageColorPaletteComboBox: public QComboBox {
|
||||
|
||||
|
||||
/*! \brief a QComboBox which shows JKQTPCAdrawMode
|
||||
\ingroup jkqtptools
|
||||
\ingroup jkqtpcomboboxes
|
||||
*/
|
||||
class LIB_EXPORT JKQTPCAdrawModeComboBox: public QComboBox {
|
||||
Q_OBJECT
|
||||
@ -81,7 +75,7 @@ class LIB_EXPORT JKQTPCAdrawModeComboBox: public QComboBox {
|
||||
|
||||
|
||||
/*! \brief a QComboBox which shows JKQTPCAlabelType
|
||||
\ingroup jkqtptools
|
||||
\ingroup jkqtpcomboboxes
|
||||
*/
|
||||
class LIB_EXPORT JKQTPCAlabelTypeComboBox: public QComboBox {
|
||||
Q_OBJECT
|
||||
@ -96,7 +90,7 @@ class LIB_EXPORT JKQTPCAlabelTypeComboBox: public QComboBox {
|
||||
|
||||
|
||||
/*! \brief a QComboBox which shows JKQTPlabelPosition
|
||||
\ingroup jkqtptools
|
||||
\ingroup jkqtpcomboboxes
|
||||
*/
|
||||
class LIB_EXPORT JKQTPlabelPositionComboBox: public QComboBox {
|
||||
Q_OBJECT
|
||||
@ -112,7 +106,9 @@ class LIB_EXPORT JKQTPlabelPositionComboBox: public QComboBox {
|
||||
|
||||
|
||||
/*! \brief a QComboBox which shows JKQTPkeyPosition
|
||||
\ingroup jkqtptools
|
||||
\ingroup jkqtpcomboboxes
|
||||
|
||||
\image html JKQTPkeyPositionComboBox.png
|
||||
*/
|
||||
class LIB_EXPORT JKQTPkeyPositionComboBox: public QComboBox {
|
||||
Q_OBJECT
|
||||
@ -132,7 +128,7 @@ class LIB_EXPORT JKQTPkeyPositionComboBox: public QComboBox {
|
||||
|
||||
|
||||
/*! \brief a QComboBox which shows JKQTPkeyPosition
|
||||
\ingroup jkqtptools
|
||||
\ingroup jkqtpcomboboxes
|
||||
*/
|
||||
class LIB_EXPORT JKQTPkeyLayoutComboBox: public QComboBox {
|
||||
Q_OBJECT
|
||||
@ -151,7 +147,9 @@ class LIB_EXPORT JKQTPkeyLayoutComboBox: public QComboBox {
|
||||
|
||||
|
||||
/*! \brief a QComboBox which shows JKQTPerrorPlotstyle
|
||||
\ingroup jkqtptools
|
||||
\ingroup jkqtpcomboboxes
|
||||
|
||||
\image html JKQTPerrorPlotstyleComboBox.png
|
||||
*/
|
||||
class LIB_EXPORT JKQTPerrorPlotstyleComboBox: public QComboBox {
|
||||
Q_OBJECT
|
||||
@ -168,7 +166,9 @@ class LIB_EXPORT JKQTPerrorPlotstyleComboBox: public QComboBox {
|
||||
|
||||
|
||||
/*! \brief a QComboBox which shows JKQTPgraphSymbols
|
||||
\ingroup jkqtptools
|
||||
\ingroup jkqtpcomboboxes
|
||||
|
||||
\image html JKQTPSymbolComboBox.png
|
||||
*/
|
||||
class LIB_EXPORT JKQTPSymbolComboBox: public QComboBox {
|
||||
Q_OBJECT
|
||||
@ -184,7 +184,7 @@ class LIB_EXPORT JKQTPSymbolComboBox: public QComboBox {
|
||||
|
||||
|
||||
/*! \brief a QComboBox to select whether a line, symbols or both should be displayed
|
||||
\ingroup jkqtptools
|
||||
\ingroup jkqtpcomboboxes
|
||||
*/
|
||||
class LIB_EXPORT JKQTPLinePlotStyleComboBox: public QComboBox {
|
||||
Q_OBJECT
|
||||
@ -205,7 +205,7 @@ class LIB_EXPORT JKQTPLinePlotStyleComboBox: public QComboBox {
|
||||
|
||||
|
||||
/*! \brief a QComboBox to select whether a line, symbols or both should be displayed, in addition to JKQTPLinePlotStyleComboBox this may also have different symbol sizes!
|
||||
\ingroup jkqtptools
|
||||
\ingroup jkqtpcomboboxes
|
||||
*/
|
||||
class LIB_EXPORT JKQTPLinePlotStyleWithSymbolSizeComboBox: public QComboBox {
|
||||
Q_OBJECT
|
||||
@ -235,7 +235,7 @@ class LIB_EXPORT JKQTPLinePlotStyleWithSymbolSizeComboBox: public QComboBox {
|
||||
|
||||
|
||||
/*! \brief a QComboBox which shows JKQTPstepType
|
||||
\ingroup jkqtptools
|
||||
\ingroup jkqtpcomboboxes
|
||||
*/
|
||||
class LIB_EXPORT JKQTPstepTypeComboBox: public QComboBox {
|
||||
Q_OBJECT
|
||||
@ -251,7 +251,7 @@ class LIB_EXPORT JKQTPstepTypeComboBox: public QComboBox {
|
||||
|
||||
|
||||
/*! \brief a QComboBox which shows JKQTPMathImageBase::ModifierMode
|
||||
\ingroup jkqtptools
|
||||
\ingroup jkqtpcomboboxes
|
||||
*/
|
||||
class LIB_EXPORT JKQTPImageModifierModeComboBox: public QComboBox {
|
||||
Q_OBJECT
|
||||
|
@ -18,13 +18,8 @@
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* \defgroup jkqtptools Tool Functions and Definitions
|
||||
* \ingroup jkqtplotter
|
||||
*/
|
||||
|
||||
/** \file jkqtpenhancedspinboxes.h
|
||||
* \ingroup jkqtptools
|
||||
* \ingroup jkqtptools_qtwidgets
|
||||
*/
|
||||
|
||||
|
||||
@ -36,7 +31,7 @@
|
||||
#include <QDoubleSpinBox>
|
||||
|
||||
/*! \brief enhanced QDoubleSpinBox
|
||||
\ingroup jkqtptools
|
||||
\ingroup jkqtptools_qtwidgets
|
||||
|
||||
*/
|
||||
class LIB_EXPORT JKQTPEnhancedDoubleSpinBox : public QDoubleSpinBox {
|
||||
@ -53,7 +48,7 @@ class LIB_EXPORT JKQTPEnhancedDoubleSpinBox : public QDoubleSpinBox {
|
||||
|
||||
|
||||
/*! \brief enhanced QDoubleSpinBox
|
||||
\ingroup jkqtptools
|
||||
\ingroup jkqtptools_qtwidgets
|
||||
|
||||
*/
|
||||
class LIB_EXPORT JKQTPEnhancedSpinBox : public QSpinBox {
|
||||
|
@ -18,13 +18,8 @@
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* \defgroup jkqtptools Tool Functions and Definitions
|
||||
* \ingroup jkqtplotter
|
||||
*/
|
||||
|
||||
/** \file jkqtpenhancedtableview.h
|
||||
* \ingroup jkqtptools
|
||||
* \ingroup jkqtptools_qtwidgets
|
||||
*/
|
||||
|
||||
|
||||
@ -35,7 +30,7 @@
|
||||
#include <QPrinter>
|
||||
|
||||
/*! \brief this class extends the QTableView
|
||||
\ingroup jkqtptools
|
||||
\ingroup jkqtptools_qtwidgets
|
||||
|
||||
This enhanced table view adds some functionality to the Qt class:
|
||||
- return HTML code that describes the table
|
||||
|
@ -20,7 +20,7 @@
|
||||
|
||||
|
||||
/** \file jkqtpgraphsmodel.cpp
|
||||
* \ingroup jkqtpbaseplotter
|
||||
* \ingroup jkqtplotter
|
||||
*/
|
||||
|
||||
#include "jkqtplottergui/jkqtpgraphsmodel.h"
|
||||
|
@ -19,15 +19,8 @@
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* \defgroup jkqtpgraphsmodel data model with all plots ina JKQtBasePlotter (+ allows to switch them visible/invisible)
|
||||
* \ingroup jkqtpbaseplotter
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
/** \file jkqtpgraphsmodel.h
|
||||
* \ingroup jkqtpbaseplotter
|
||||
* \ingroup jkqtpgraphsmodel
|
||||
*/
|
||||
|
||||
#ifndef jkqtpgraphsmodel_H
|
||||
@ -39,7 +32,11 @@
|
||||
#include <QAbstractTableModel>
|
||||
|
||||
class JKQtBasePlotter; // forward
|
||||
/** \brief data model with all plots ina JKQtBasePlotter (+ allows to switch them visible/invisible) */
|
||||
/** \brief data model with all plots ina JKQtBasePlotter (+ allows to switch them visible/invisible)
|
||||
* \ingroup jkqtpgraphsmodel
|
||||
*
|
||||
* \image html JKQTPgraphsModel.png
|
||||
*/
|
||||
class JKQTPgraphsModel : public QAbstractTableModel
|
||||
{
|
||||
Q_OBJECT
|
||||
|
@ -20,7 +20,7 @@
|
||||
|
||||
|
||||
/** \file jkvanishqtoolbar.cpp
|
||||
* \ingroup jkqtpbaseplotter
|
||||
* \ingroup jkqtplotter
|
||||
*/
|
||||
|
||||
#include "jkqtplottergui/jkvanishqtoolbar.h"
|
||||
|
@ -20,7 +20,7 @@
|
||||
|
||||
|
||||
/** \file jkvanishqtoolbar.h
|
||||
* \ingroup jkqtpbaseplotter
|
||||
* \ingroup jkqtptools_qtwidgets
|
||||
*/
|
||||
|
||||
#ifndef jkvanishqtoolbar_H
|
||||
@ -30,7 +30,7 @@
|
||||
#include <QToolBar>
|
||||
|
||||
/** \brief a modified a href="http://doc.trolltech.com/4.5/qtoolbar.html">QToolBar</a> which vanishes when the mouse leaves the toolbar.
|
||||
* \ingroup jkqtptools
|
||||
* \ingroup jkqtptools_qtwidgets
|
||||
*/
|
||||
class LIB_EXPORT JKVanishQToolBar: public QToolBar {
|
||||
Q_OBJECT
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user