mirror of
https://github.com/jkriege2/JKQtPlotter.git
synced 2024-12-25 01:51:49 +08:00
improvements to documentation
This commit is contained in:
parent
8edab9865e
commit
ad48bf1873
@ -39,9 +39,12 @@ script:
|
||||
- cd doc
|
||||
- doxygen --version
|
||||
- doxygen Doxyfile
|
||||
- echo "" > html/.nojekyll
|
||||
|
||||
deploy:
|
||||
provider: pages
|
||||
verbose: true
|
||||
deployment_file: true
|
||||
skip_cleanup: true
|
||||
local_dir: doc/html
|
||||
github_token: $GH_REPO_TOKEN
|
||||
|
@ -68,7 +68,7 @@ OUTPUT_DIRECTORY = ./
|
||||
# performance problems for the file system.
|
||||
# The default value is: NO.
|
||||
|
||||
CREATE_SUBDIRS = YES
|
||||
CREATE_SUBDIRS = NO
|
||||
|
||||
# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
|
||||
# characters to appear in the names of generated files. If set to NO, non-ASCII
|
||||
@ -186,7 +186,7 @@ STRIP_FROM_INC_PATH =
|
||||
# support long names like on DOS, Mac, or CD-ROM.
|
||||
# The default value is: NO.
|
||||
|
||||
SHORT_NAMES = YES
|
||||
SHORT_NAMES = NO
|
||||
|
||||
# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the
|
||||
# first line (until the first dot) of a Javadoc-style comment as the brief
|
||||
|
@ -1,12 +1,12 @@
|
||||
/*!
|
||||
|
||||
\page BUILDINSTRUCTIONS How to Build
|
||||
\page page_buildinstructions Build Instructions
|
||||
This page explains how to use JKQTPlotter in your own Projects
|
||||
|
||||
\tableofcontents
|
||||
|
||||
\section BUILDINSTRUCTIONS_QMAKE Build using QMake
|
||||
\subsection BUILDINSTRUCTIONS_QMAKEINCLUDE QMake Include Project
|
||||
\section page_buildinstructions_QMAKE Build using QMake
|
||||
\subsection page_buildinstructions_QMAKEINCLUDE QMake Include Project
|
||||
If you want to simply include the JKQTPlotter Source code into your projects, without build a shared or static library and linking against it, you can use one of these QMake-Include files:
|
||||
- <a href="https://github.com/jkriege2/JKQtPlotter/blob/master/lib/jkqtplotter.pri">lib/jkqtplotter.pri</a> includes the complete library (JKQTPlotter, JKQTFastPlotter, JKQTMathText)
|
||||
- <a href="https://github.com/jkriege2/JKQtPlotter/blob/master/lib/jkqtmathtext.pri">lib/jkqtmathtext.pri</a> includes only JKQTMathText
|
||||
@ -18,7 +18,7 @@ In your QMake-projects it is then sufficient to add a line like:
|
||||
include(<PATHTOJKQTPLOTTERDIR>/lib/jkqtplotter.pri)
|
||||
\endcode
|
||||
|
||||
\subsection BUILDINSTRUCTIONS_QMAKESTATIC QMake Static Library
|
||||
\subsection page_buildinstructions_QMAKESTATIC QMake Static Library
|
||||
|
||||
There are several `.PRO`-files, that can be used to build the full library, or a limited subsets of it as static link library:
|
||||
- <a href="https://github.com/jkriege2/JKQtPlotter/blob/master/staticlib/jkqtplotterlib/jkqtplotterlib.pro">staticlib/jkqtplotterlib/jkqtplotterlib.pro</a> builds the complete library (JKQTPlotter, JKQTFastPlotter, JKQTMathText) as static link library
|
||||
@ -59,7 +59,7 @@ SUBDIRS += jkqtplotterlib_static test_styling
|
||||
|
||||
|
||||
|
||||
\subsection BUILDINSTRUCTIONS_QMAKEDYNAMIC QMake Dynamic Library
|
||||
\subsection page_buildinstructions_QMAKEDYNAMIC QMake Dynamic Library
|
||||
|
||||
There are several `.PRO`-files, that can be used to build the full library, or a limited subsets of it as shred library:
|
||||
- <a href="https://github.com/jkriege2/JKQtPlotter/blob/master/sharedlib/jkqtplotterlib/jkqtplotterlib.pro">sharedlib/jkqtplotterlib/jkqtplotterlib.pro</a> builds the complete library (JKQTPlotter, JKQTFastPlotter, JKQTMathText) as shared library
|
||||
|
@ -148,8 +148,8 @@ All test-projects are Qt-projects that use qmake to build. You can load them int
|
||||
<table>
|
||||
<tr><th> Screenshot <th> Description <th> Notes
|
||||
<tr><td> \image html simpletest_datastore_small.png
|
||||
<td> \subpage JKQTPlotterAdvancedJKQTPDatastore
|
||||
<td> Advanced Data Management with JKQTPDatastore
|
||||
<td> \subpage JKQTPlotterBasicJKQTPDatastore
|
||||
<td> Basic Data Management with JKQTPDatastore <br/> Copying data into a JKQTPDatastore <br/> Editing data inside a JKQTPDatastore <br/> Editing Image Data in a JKQTPDatastore
|
||||
</table>
|
||||
|
||||
|
||||
|
@ -44,7 +44,7 @@ data sources (internal or external memory arrays. Later on it is simply possible
|
||||
using the column number and the not a link to the actual data array, as the link is stored in these
|
||||
classes.
|
||||
|
||||
\see \ref JKQTPlotterAdvancedJKQTPDatastore for a detailed description of how to use this class for data management!
|
||||
\see \ref JKQTPlotterBasicJKQTPDatastore for a detailed description of how to use this class for data management!
|
||||
|
||||
\defgroup jkqtpopencvinterface OpenCV Interfaceing Tools
|
||||
\ingroup jkqtpdatastorage
|
||||
|
@ -6,8 +6,8 @@
|
||||
- This software is licensed under the term of the GNU Lesser General Public License 2.1
|
||||
(LGPL 2.1) or above. See \ref licensesec for details.
|
||||
- <a href="http://jkriege2.github.io/JKQtPlotter/index.html">Online-Documentation (http://jkriege2.github.io/JKQtPlotter/index.html)</a>
|
||||
- <a href="https://github.com/jkriege2/JKQtPlotter">Source Code Repository</a>
|
||||
- <a href="https://github.com/jkriege2/JKQtPlotter/releases">Tagged Releases</a>
|
||||
- <a href="https://github.com/jkriege2/JKQtPlotter">Source Code Repository (https://github.com/jkriege2/JKQtPlotter)</a>
|
||||
- <a href="https://github.com/jkriege2/JKQtPlotter/releases">Tagged Releases (https://github.com/jkriege2/JKQtPlotter/releases)</a>
|
||||
|
||||
\image html examplesbanner.png
|
||||
|
||||
@ -61,8 +61,8 @@
|
||||
- JKQTMathText - LaTeX parser and math renderer
|
||||
- JKQTFastPlotter - additional, simplified but speed-optimized plotter widget with limited capabilities
|
||||
- \ref licensepage
|
||||
- \ref BUILDINSTRUCTIONS
|
||||
- \ref WHATSNEW
|
||||
- \ref page_buildinstructions
|
||||
- \ref page_whatsnew
|
||||
- \ref exampleTutorialProjects
|
||||
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*!
|
||||
|
||||
\page WHATSNEW What's New (Release Notes/Versions)
|
||||
\page page_whatsnew What's New (Release Notes/Versions)
|
||||
This page lists release notes for the diferent version of JKQTPlotter
|
||||
|
||||
\tableofcontents
|
||||
@ -9,12 +9,12 @@ This page lists release notes for the diferent version of JKQTPlotter
|
||||
|
||||
|
||||
|
||||
\section WHATSNEW_TRUNK trunk: Major Update/Refactoring
|
||||
\section page_whatsnew_TRUNK trunk: Major Update/Refactoring
|
||||
|
||||
\subsection WHATSNEW_TRUNK_OVERVIEW trunk: Overview
|
||||
\subsection page_whatsnew_TRUNK_OVERVIEW trunk: Overview
|
||||
Starting in summer 2018, JKQTPlotter received some major workover. During this, it lost compatibility to the <a href="https://github.com/jkriege2/QuickFit3">QuickFit 3.0</a> code base.
|
||||
|
||||
Changes, compared to \ref WHATSNEW_V2018_08 "v2018.08" include:
|
||||
Changes, compared to \ref page_whatsnew_V2018_08 "v2018.08" include:
|
||||
<ul>
|
||||
<li> new: added QMake-Projects for static and for shared library builds </li>
|
||||
<li> new: \ref exampleTutorialProjects "extensive set of Examples and Tutorials" </li>
|
||||
@ -23,7 +23,7 @@ Changes, compared to \ref WHATSNEW_V2018_08 "v2018.08" include:
|
||||
<li> update: massively improved (doxygen-generated) <a href="http://jkriege2.github.io/JKQtPlotter/index.html">Online-Documentation (http://jkriege2.github.io/JKQtPlotter/index.html)</a> (automatically generated after each commit using ravis CI) </li>
|
||||
<li> update: refactoring of the library's directory structure </li>
|
||||
<li> update: refactoring/renaming of API, including the function anming scheme and class names </li>
|
||||
<li> changed: using static const variables instead of \c #define for fixed default values (e.g. JKQTPImageTools::LUTSIZE, JKQTPImageTools::PALETTE_ICON_WIDTH, JKQTPlotterDrawinTools::ABS_MIN_LINEWIDTH, JKQTMathText::ABS_MIN_LINEWIDTH ...)</li>
|
||||
<li> changed: using static const variables instead of <code>#define</code> for fixed default values (e.g. JKQTPImageTools::LUTSIZE, JKQTPImageTools::PALETTE_ICON_WIDTH, JKQTPlotterDrawinTools::ABS_MIN_LINEWIDTH, JKQTMathText::ABS_MIN_LINEWIDTH ...)</li>
|
||||
<li> Updates to JKQTPlotter:
|
||||
<ul>
|
||||
<li> new: added JKQTPSingleColumnSymbolsGraph for single-column data, e.g. drawn as (random) scatter or bee-swar plots </li>
|
||||
@ -39,11 +39,11 @@ Changes, compared to \ref WHATSNEW_V2018_08 "v2018.08" include:
|
||||
<li> new: additional options for graph filling (color gradients, textures, ...) as provided by QBrush </li>
|
||||
<li> new: added a general feature to JKQTPPlotElement which allows to show a graph in a highlighted state (if supported by the derived graph class!) </li>
|
||||
<li> new: JKQTPXYParametrizedScatterGraph: added functors to transform column values into symbol type+size and line-width to give even more control </li>
|
||||
<li> new: user-interaction tool that shows coordinates of data points near the current mouse position (when mouse is dragged, while mouse button is pressed) \see jkqtpmdaToolTipForClosestDataPoint </li>
|
||||
<li> new: user-interaction tool that measures distances and angles when mouse is dragged, while mouse button is pressed) \see jkqtpmdaRuler </li>
|
||||
<li> new: user-interaction tool that shows coordinates of data points near the current mouse position (when mouse is dragged, while mouse button is pressed), see: jkqtpmdaToolTipForClosestDataPoint </li>
|
||||
<li> new: user-interaction tool that measures distances and angles when mouse is dragged, while mouse button is pressed), see: jkqtpmdaRuler </li>
|
||||
<li> new: advanced styling options for boxplots + example for the styling: \ref JKQTPlotterBoxplotStyling </li>
|
||||
<li> new: notched boxplots \see JKQTPlotterBoxplotStyling </li>
|
||||
<li> new: several new plot symbols \see JKQTPGraphSymbols </li>
|
||||
<li> new: notched boxplots, see: \ref JKQTPlotterBoxplotStyling </li>
|
||||
<li> new: several new plot symbols, see: JKQTPGraphSymbols </li>
|
||||
<li> changed: removed old selection-code and replaced by general highlighting feature </li>
|
||||
<li> changed: JKQTPStepHorizontalGraph has been renamed to JKQTPSpecialLineHorizontalGraph (vertical variants also) and have gained additional features (baseline for filling and drawing of symbols) </li>
|
||||
<li> changed: filled curve graphs (e.g. JKQTPSpecialLineHorizontalGraph) are now merely a specializedly initialized JKQTPSpecialLineHorizontalGraph </li>
|
||||
@ -61,7 +61,7 @@ Changes, compared to \ref WHATSNEW_V2018_08 "v2018.08" include:
|
||||
</ul></li>
|
||||
</ul>
|
||||
|
||||
\subsection WHATSNEW_TRUNK_DOWNLOAD trunk: Download
|
||||
\subsection page_whatsnew_TRUNK_DOWNLOAD trunk: Download
|
||||
|
||||
This release is available from:
|
||||
- Source code branch: <a href="https://github.com/jkriege2/JKQtPlotter">https://github.com/jkriege2/JKQtPlotter</a>
|
||||
@ -75,15 +75,15 @@ This release is available from:
|
||||
|
||||
|
||||
|
||||
\section WHATSNEW_V2018_08 v2018.08: Minor Modifications (Final QuickFit3-compatible Version)
|
||||
\section page_whatsnew_V2018_08 v2018.08: Minor Modifications (Final QuickFit3-compatible Version)
|
||||
|
||||
\subsection WHATSNEW_V2018_08_OVERVIEW v2018.08: Overview
|
||||
This is the final version of JKQTPlotter, which is still compatible with the <a href="https://github.com/jkriege2/QuickFit3">QuickFit 3.0</a> code base. It contains minor changes as compared to \ref WHATSNEW_V2015_10 "v2015.10":
|
||||
\subsection page_whatsnew_V2018_08_OVERVIEW v2018.08: Overview
|
||||
This is the final version of JKQTPlotter, which is still compatible with the <a href="https://github.com/jkriege2/QuickFit3">QuickFit 3.0</a> code base. It contains minor changes as compared to \ref page_whatsnew_V2015_10 "v2015.10":
|
||||
- new: added Qt data model to switch graphs on/off
|
||||
- update: some improvements to test programs
|
||||
.
|
||||
|
||||
\subsection WHATSNEW_V2018_08_DOWNLOAD v2018.08: Download
|
||||
\subsection page_whatsnew_V2018_08_DOWNLOAD v2018.08: Download
|
||||
|
||||
This release is available from:
|
||||
- Source code branch: <a href="https://github.com/jkriege2/JKQtPlotter/tree/v2018.08">https://github.com/jkriege2/JKQtPlotter/tree/v2018.08</a>
|
||||
@ -97,12 +97,12 @@ This release is available from:
|
||||
|
||||
|
||||
|
||||
\section WHATSNEW_V2015_10 v2015.10: Initial Release
|
||||
\section page_whatsnew_V2015_10 v2015.10: Initial Release
|
||||
|
||||
\subsection WHATSNEW_V2015_10_OVERVIEW v2015.10: Overview
|
||||
\subsection page_whatsnew_V2015_10_OVERVIEW v2015.10: Overview
|
||||
This is the initial release of the library. It was developed initially as part of <a href="https://github.com/jkriege2/QuickFit3">QuickFit 3.0</a> and then separated out into a separate repository.
|
||||
|
||||
\subsection WHATSNEW_V2015_10_DOWNLOAD v2015.10: Download
|
||||
\subsection page_whatsnew_V2015_10_DOWNLOAD v2015.10: Download
|
||||
|
||||
This release is available from:
|
||||
- Source code branch: <a href="https://github.com/jkriege2/JKQtPlotter/tree/v2015.10">https://github.com/jkriege2/JKQtPlotter/tree/v2015.10</a>
|
||||
|
@ -47,8 +47,11 @@ div.fragment {
|
||||
background-position: 3px 3px;
|
||||
background-repeat: no-repeat;
|
||||
min-height: 32px;
|
||||
min-width: 50%;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
|
||||
h2.memtitle {
|
||||
padding: 8px;
|
||||
border-top: 1px solid #A8B8D9;
|
||||
@ -122,7 +125,7 @@ div.caption {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
table.params {
|
||||
table.params , table.tparams {
|
||||
border: 1px solid black;
|
||||
border-left-width: 8px;
|
||||
border-left-color: #66001a;
|
||||
|
@ -63,7 +63,7 @@ All test-projects are Qt-projects that use qmake to build. You can load them int
|
||||
|
||||
| Screenshot | Description | Notes |
|
||||
|:-------------:| ------------- | ------------- |
|
||||
| [![](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/screenshots/simpletest_datastore_small.png)](https://github.com/jkriege2/JKQtPlotter/tree/master/examples/simpletest_datastore) | [Advanced Usage of JKQTPDatastore](https://github.com/jkriege2/JKQtPlotter/tree/master/examples/simpletest_datastore) | Advanced Data Management with JKQTPDatastore |
|
||||
| [![](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/screenshots/simpletest_datastore_small.png)](https://github.com/jkriege2/JKQtPlotter/tree/master/examples/simpletest_datastore) | [Tutorial: Basic Usage of JKQTPDatastore](https://github.com/jkriege2/JKQtPlotter/tree/master/examples/simpletest_datastore) | Basic Data Management with JKQTPDatastore <br/> Copying data into a JKQTPDatastore <br/> Editing data inside a JKQTPDatastore <br/> Editing Image Data in a JKQTPDatastore |
|
||||
|
||||
|
||||
|
||||
|
@ -1,6 +1,8 @@
|
||||
# Example (JKQTPlotter): Advanced Usage of JKQTPDatastore {#JKQTPlotterAdvancedJKQTPDatastore}
|
||||
# Tutorial (JKQTPlotter): Basic Usage of JKQTPDatastore {#JKQTPlotterBasicJKQTPDatastore}
|
||||
|
||||
This project (see `./examples/simpletest_datastore/`) explains several advanced options of JKQTPDatastore, which is the class used to centrally store the data for (most) graphs on a JKQTPlotter widget.
|
||||
|
||||
[TOC]
|
||||
|
||||
The source code of the main application can be found in [`jkqtplotter_simpletest_datastore.cpp`](https://github.com/jkriege2/JKQtPlotter/tree/master/examples/simpletest_datastore/jkqtplotter_simpletest_datastore.cpp).
|
||||
This tutorial cites parts of this code to demonstrate different ways of working with data for the graphs.
|
||||
@ -12,9 +14,10 @@ In every code-segment below, we will use these two declarations from the code to
|
||||
JKQTPDatastore* datastore=plot.getDatastore();
|
||||
```
|
||||
|
||||
## Copy Data from different data structures into JKQTPDatastore
|
||||
# Copy Data from different data structures into JKQTPDatastore
|
||||
|
||||
## Copy Data from a Vector into a column of the JKQTPDatastore
|
||||
|
||||
### Copy Data from a Vector into a column of the JKQTPDatastore
|
||||
First we fill data into a QVector for a simple plot (a sine curve) and add a plot using this data:
|
||||
```.cpp
|
||||
QVector<double> X, Y;
|
||||
@ -39,7 +42,8 @@ The plot from the code above looks like this:
|
||||
![simpletest_datastore_sine](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/screenshots/simpletest_datastore_sine.png)
|
||||
|
||||
|
||||
### Copy Data from a C-array into a column of the JKQTPDatastore
|
||||
## Copy Data from a C-array into a Column of the JKQTPDatastore
|
||||
|
||||
Of course if you have your data in a C-array, you can use the same syntax:
|
||||
```.cpp
|
||||
#define NDATA 5
|
||||
@ -55,7 +59,8 @@ The plot from the code above looks like this:
|
||||
![simpletest_datastore_linkedcarray](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/screenshots/simpletest_datastore_linkedcarray.png)
|
||||
|
||||
|
||||
### Copy Data from a Map into a JKQTPDatastore
|
||||
## Copy Data from a Map into a JKQTPDatastore
|
||||
|
||||
Since graphs often display (x,y)-pairs, it may make sense to store them in a map (e.g. for histograms). There there are also functions that copy the contents of a map into a JKQTPDatastore, resulting in two columns beeing added:
|
||||
```.cpp
|
||||
std::map<int, double> datamap;
|
||||
@ -73,9 +78,10 @@ This code results in a graph like this:
|
||||
![simpletest_datastore_map](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/screenshots/simpletest_datastore_map.png)
|
||||
|
||||
|
||||
## Reference External Data in a column of the JKQTPDatastore
|
||||
# Reference External Data in a column of the JKQTPDatastore
|
||||
|
||||
## Referencing without transfer of ownership
|
||||
|
||||
### Referencing without transfer of ownership
|
||||
As an alternative to the method of copying data (see above), you could also just link the data. For this to work, the data has to reside in a C-array of type `double`, as this is the internal datatype of the `JKQTPDatastore`. You can simply replace the two lines with `JKQTPDatastore::addCopiedColumn()` in the example above by (we exploit the fact that `QVector<double>::data()` returns a pointer to the internal C-array of the vector):
|
||||
```.cpp
|
||||
linegraph->setXColumn(datastore->addColumn(X.data(), X.size(), "x"));
|
||||
@ -97,7 +103,8 @@ The plot from the code above looks like this:
|
||||
|
||||
![simpletest_datastore_linkedcarray](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/screenshots/simpletest_datastore_linkedcarray.png)
|
||||
|
||||
### Referencing with transfer of ownership
|
||||
## Referencing with Transfer of Ownership
|
||||
|
||||
In addition to the variants of `JKQTPDatastore::addColumn()`, that do not transfer ownership of the data to the `JKQTPDatastore`, you can also use `JKQTPDatastore::addInternalColumn()`, which tells the `JKQTPDatastore` to use the external data array and also take over its owner-ship. This implies that the array is freed when the `JKQTPDatastore` is destroyed, by calling `free()` in the array. Therefor data for this method needs to be allocated by using `malloc()` or `calloc()`:
|
||||
```.cpp
|
||||
#define NDATA 5
|
||||
@ -107,10 +114,12 @@ In addition to the variants of `JKQTPDatastore::addColumn()`, that do not transf
|
||||
```
|
||||
|
||||
|
||||
## JKQTPDatastore-internal Data Management
|
||||
# JKQTPDatastore-internal Data Management
|
||||
|
||||
It is also possible to leave the data mangement completely to the JKQTPDatastore and just edit the data with access functions from JKQTPDatastore.
|
||||
|
||||
### Generating Columns Non-Initialized Columns and Filling Them
|
||||
## Generating Columns Non-Initialized Columns and Filling Them
|
||||
|
||||
The most basic way to generate data for a plot is to generate two non-initialized columns for the x- and y-coordinates of the graph points
|
||||
```.cpp
|
||||
const int Ndata=100;
|
||||
@ -133,7 +142,8 @@ Plotting these two columns versus each other results in a simple sine graph:
|
||||
|
||||
|
||||
|
||||
### Generating Columns Preinitialized Columns
|
||||
## Generating Columns Preinitialized Columns
|
||||
|
||||
For your convenience there are also function that simply create such a linear vector with one call:
|
||||
```.cpp
|
||||
size_t colLinX=datastore->addLinearColumn(count, 0, 20, "x_lin");
|
||||
@ -159,7 +169,8 @@ This call results in a column with these 30 values spanning the range between 1
|
||||
1, 1.26896, 1.61026, 2.04336, ..., 8.53168, 10.8264, 13.7382, ..., 72.7895, 92.3671, ..., 788.046, 1000
|
||||
```
|
||||
|
||||
### Appending to Columns
|
||||
## Appending to Columns
|
||||
|
||||
You can use the methods `JKQTPDatastore::appendToColumn()` and `JKQTPDatastore::appendFromContainerToColumn()` to extend columns with additional values, e.g.:
|
||||
```.cpp
|
||||
for (double ii=10; ii<=20; ii++) datastore->appendToColumn(columnID, ii);
|
||||
@ -167,7 +178,7 @@ You can use the methods `JKQTPDatastore::appendToColumn()` and `JKQTPDatastore::
|
||||
Note that this operation changes the column length (number of rows). If the memory was externally managed before, it will be internally managed afterwards! If the first append is called on a column that cannot be extended, the contents will be copied and the column will reference the new, internally managed, memory afterwards.
|
||||
|
||||
|
||||
### Using Data from one Column to Calculate Another
|
||||
## Using Data from one Column to Calculate Another
|
||||
|
||||
After generating columns, as shown above, you can also use the data in these columns to calculate a second column based on the values in the first. You can do this explicitly:
|
||||
```.cpp
|
||||
@ -199,7 +210,8 @@ results in:
|
||||
![simpletest_datastore_calccolumns](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/screenshots/simpletest_datastore_calccolumns.png)
|
||||
|
||||
|
||||
### 2D-Datasets and Images
|
||||
## 2D-Datasets and Images
|
||||
|
||||
There is also a function `JKQTPDatastore::addLinearGridColumns(size_t width, double startX, double endX, size_t height, double startY, double endY, const QString &nameX, const QString &nameY)` that generate two columns simultaneously that conatin the x- and y-coordinates of the points on a rectangular grid, in a column-major order:
|
||||
```.cpp
|
||||
std::pair<size_t,size_t> colLinXY=datastore->addLinearGridColumns(10, 10, 20, 10, 1.5, 3);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/** \example jkqtplotter_simpletest_datastore.cpp
|
||||
* A very basic example for the usage of JKQTPlotter
|
||||
* Several basic examples of how to add data to and edit data in a JKQTPDatastore.
|
||||
*
|
||||
* \ref JKQTPlottersimpletest_datastore
|
||||
*/
|
||||
|
@ -1,6 +1,9 @@
|
||||
# Example (JKQTPlotter): Date/Time Axes {#JKQTPlotterDateTimeAxes}
|
||||
|
||||
## Date Axis
|
||||
[TOC]
|
||||
|
||||
# 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`](https://github.com/jkriege2/JKQtPlotter/tree/master/examples/simpletest_dateaxes/jkqtplotter_simpletest_dateaxes.cpp).
|
||||
@ -109,7 +112,8 @@ The result looks like this:
|
||||
![jkqtplotter_simpletest_symbols_and_styles](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/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](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/screenshots/jkqtplotter_simpletest_dateaxes_timeaxis.png)
|
||||
|
@ -2,7 +2,9 @@
|
||||
## 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 [examples/simpletest_parsedfunctionplot](https://github.com/jkriege2/JKQtPlotter/tree/master/examples/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
|
||||
[TOC]
|
||||
|
||||
# Simple C++ inline function
|
||||
The first example shows how to plot a C++ inline function:
|
||||
```.cpp
|
||||
JKQTPXFunctionLineGraph* func1=new JKQTPXFunctionLineGraph(plot);
|
||||
@ -11,7 +13,8 @@ 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->setParamsV(p0, p1, ...)`:
|
||||
```.cpp
|
||||
JKQTPXFunctionLineGraph* func2=new JKQTPXFunctionLineGraph(plot);
|
||||
@ -41,7 +44,8 @@ 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):
|
||||
```.cpp
|
||||
struct SincSqr {
|
||||
@ -62,7 +66,8 @@ 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:
|
||||
```.cpp
|
||||
double sinc(double x) {
|
||||
@ -77,7 +82,8 @@ 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:
|
||||
```.cpp
|
||||
JKQTPXFunctionLineGraph* func6=new JKQTPXFunctionLineGraph(plot);
|
||||
@ -102,12 +108,14 @@ JKQTPXFunctionLineGraph* func7=new JKQTPXFunctionLineGraph(plot);
|
||||
plot->addGraph(func7);
|
||||
```
|
||||
|
||||
## Screenshot
|
||||
# Screenshot
|
||||
|
||||
This code snippets above result in a plot like this:
|
||||
|
||||
![jkqtplotter_simpletest_functionplot](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/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](https://github.com/jkriege2/JKQtPlotter/tree/master/examples/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.
|
||||
|
@ -1,6 +1,9 @@
|
||||
# Tutorial (JKQTPlotter): User-Interactions in JKQtPlotter {#JKQTPlotterUserInteraction}
|
||||
|
||||
## Basic Description
|
||||
[TOC]
|
||||
|
||||
# Basic Description
|
||||
|
||||
This project (see `./examples/test_user_interaction/`) demonstrates different types of user-interactions in JKQTPlotter.
|
||||
|
||||
It contains a simple plot with two graphs and provides several widgets that allow to bind different user interactions to different events:
|
||||
@ -8,7 +11,7 @@ It contains a simple plot with two graphs and provides several widgets that allo
|
||||
![](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/screenshots/test_user_interaction.png)
|
||||
|
||||
|
||||
## Inner Workings
|
||||
# Inner Workings
|
||||
|
||||
The source code of the main application can be found in [`test_user_interaction.cpp`](https://github.com/jkriege2/JKQtPlotter/tree/master/examples/test_user_interaction/test_user_interaction.cpp).
|
||||
|
||||
@ -60,36 +63,38 @@ As you can see, this QComboBox registers one of the available actions to the eve
|
||||
|
||||
|
||||
|
||||
## Available User-Interactions
|
||||
# Available User-Interactions
|
||||
|
||||
You can play around with this example to find out about different types of user interactions. SOm of them are illustrated with animations below.
|
||||
|
||||
### Switching Graph Visibility via Context Menu
|
||||
## Switching Graph Visibility via Context Menu
|
||||
|
||||
the default context menu contains a sub-menu that allows to switch every graph and and off:
|
||||
|
||||
![](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/doc/images/contextmenu_graphvisibility.gif)
|
||||
|
||||
|
||||
### Toolbar at the top of the Plot
|
||||
## Toolbar at the top of the Plot
|
||||
|
||||
Each JKQTPlotter contains a toolbar that is by default invisible and appears, when the mouse moves over a designated area at the top of the plot:
|
||||
|
||||
![](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/doc/images/jkqtvanishtoolbar.gif)
|
||||
|
||||
You can also use the checkboxes "enable toolbar" to disable this toolbar alltogether and "toolbar 'always on'" to switch the vanishing feature off and make it visible all the time.
|
||||
|
||||
### Mouse Position Display
|
||||
## Mouse Position Display
|
||||
|
||||
The JKQTPlotter contains a small text display for the current mouse position (in plot coordinates) at the top of the graph:
|
||||
|
||||
![](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/doc/images/mousepositiondisplay.gif)
|
||||
|
||||
### Drag the Plot Viewport
|
||||
## Drag the Plot Viewport
|
||||
|
||||
You can move the viewport of the graph using the mouse ("jkqtpmdaPanPlotOnMove"-action). If you drag inside the plot window, you can move in both directions, if you drag over one of the coordinate axes, you can change the range of this axis only:
|
||||
|
||||
![](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/doc/images/drag_viewport.gif)
|
||||
|
||||
### Zooming with the Mouse
|
||||
## Zooming with the Mouse
|
||||
|
||||
There are several options to zoom, using the mouse:
|
||||
* using the mouse wheel
|
||||
@ -99,39 +104,44 @@ There are several options to zoom, using the mouse:
|
||||
|
||||
Again these actions are limited to a single axis, if the mouse is above that axis (and not inside the actual plot rectangle).
|
||||
|
||||
### Ruler/Measurement Tool
|
||||
## Ruler/Measurement Tool
|
||||
|
||||
JKQTPlotter provides a pre-built ruler tool that measures x- and y-distance between the start and end point, as well as the length of the connecting line and the angle of that line.<br>
|
||||
|
||||
![](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/doc/images/rulertool.gif)
|
||||
|
||||
|
||||
### Data ToolTip Tool
|
||||
## Data ToolTip Tool
|
||||
|
||||
JKQTPlotter provides a pre-built tool that, while the mouse button is pressed and the cursor is dragged over the plot, finds data points (of most graphs) near the mouse and displays their coordinates (and errors) inside a small tooltip:<br>
|
||||
|
||||
![](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/doc/images/tooltiptool.gif)
|
||||
|
||||
|
||||
### Drawing Geometrical Forms
|
||||
## Drawing Geometrical Forms
|
||||
|
||||
You can also use the mouse to draw various geometricals forms. When you finish drawing, a single event is emitted for that form, which contains its size and position:
|
||||
|
||||
#### Lines
|
||||
### Lines
|
||||
|
||||
![](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/doc/images/draw_line.gif)
|
||||
|
||||
#### Rectangles
|
||||
### Rectangles
|
||||
|
||||
![](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/doc/images/draw_rectangle.gif)
|
||||
|
||||
#### Circles
|
||||
### Circles
|
||||
|
||||
![](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/doc/images/draw_circle.gif)
|
||||
|
||||
#### Ellipses
|
||||
### Ellipses
|
||||
|
||||
![](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/doc/images/draw_ellipse.gif)
|
||||
|
||||
### Context Menus
|
||||
## Context Menus
|
||||
|
||||
### Standard Context Menu
|
||||
|
||||
#### Standard Context Menu
|
||||
JKQTPlotter contains a standard context menu, which is shown if `plot->setContextMenuMode(jkqtpcmmStandardContextMenu);` was set.
|
||||
It contains several standard ways of interacting with the plot, e.g. save to file, copy to clipboard, print, switch graph visibilities, ...
|
||||
|
||||
@ -158,7 +168,8 @@ In addition JKQTPlotter provides several ways to customize this menu:
|
||||
}
|
||||
```
|
||||
|
||||
#### Special Context Menu
|
||||
### Special Context Menu
|
||||
|
||||
In addition to the standard context menu, JKQTPlotter can also be configures to display a special, user-defined context menu.
|
||||
To do so, call `plot->setContextMenuMode(jkqtpcmmSpecialContextMenu);` and set your menu, by calling `plot->setSpecialContextMenu(menu)`.
|
||||
You can also combine the special menu and the standard menu, by calling `plot->setContextMenuMode(jkqtpcmmStandardAndSpecialContextMenu);`.
|
||||
|
@ -310,22 +310,22 @@ class JKQTP_LIB_EXPORT JKQTMathText : public QObject {
|
||||
MTFElatex
|
||||
};
|
||||
|
||||
/*! \copydoc fontColor \see fontColor */
|
||||
/*! \copydoc fontColor */
|
||||
inline void setFontColor(const QColor & __value)
|
||||
{
|
||||
this->fontColor = __value;
|
||||
}
|
||||
/*! \copydoc fontColor \see fontColor */
|
||||
/*! \copydoc fontColor */
|
||||
inline QColor getFontColor() const
|
||||
{
|
||||
return this->fontColor;
|
||||
}
|
||||
/*! \copydoc fontSize \see fontSize */
|
||||
/*! \copydoc fontSize */
|
||||
inline void setFontSize(double __value)
|
||||
{
|
||||
this->fontSize = __value;
|
||||
}
|
||||
/*! \copydoc fontSize \see fontSize */
|
||||
/*! \copydoc fontSize */
|
||||
inline double getFontSize() const
|
||||
{
|
||||
return this->fontSize;
|
||||
@ -341,9 +341,7 @@ class JKQTP_LIB_EXPORT JKQTMathText : public QObject {
|
||||
void addReplacementFont(const QString& nonUseFont, const QString& useFont);
|
||||
|
||||
|
||||
/*! \brief sets the property fontRoman ( \copybrief fontRoman ) to the specified \a __value.
|
||||
\details Description of the parameter fontRoman is: <BLOCKQUOTE>\copydoc fontRoman </BLOCKQUOTE>
|
||||
\see fontRoman for more information */
|
||||
/*! \copydoc fontRoman */
|
||||
inline void setFontRoman(const QString & __value)
|
||||
{
|
||||
this->fontRoman = fontReplacements.value(__value, __value);
|
||||
@ -352,127 +350,127 @@ class JKQTP_LIB_EXPORT JKQTMathText : public QObject {
|
||||
|
||||
\see fontRoman for more information */
|
||||
void setFontRomanOrSpecial(const QString & __value);
|
||||
/*! \copydoc fontRoman \see fontRoman */
|
||||
/*! \copydoc fontRoman */
|
||||
inline QString getFontRoman() const
|
||||
{
|
||||
return this->fontRoman;
|
||||
}
|
||||
/*! \copydoc fontSans \see fontSans */
|
||||
/*! \copydoc fontSans */
|
||||
inline void setFontSans(const QString & __value)
|
||||
{
|
||||
this->fontSans = fontReplacements.value(__value, __value);
|
||||
}
|
||||
/*! \copydoc fontSans \see fontSans */
|
||||
/*! \copydoc fontSans */
|
||||
inline QString getFontSans() const
|
||||
{
|
||||
return this->fontSans;
|
||||
}
|
||||
/*! \copydoc fontTypewriter \see fontTypewriter */
|
||||
/*! \copydoc fontTypewriter */
|
||||
inline void setFontTypewriter(const QString & __value)
|
||||
{
|
||||
this->fontTypewriter = __value;
|
||||
}
|
||||
/*! \copydoc fontTypewriter \see fontTypewriter */
|
||||
/*! \copydoc fontTypewriter */
|
||||
inline QString getFontTypewriter() const
|
||||
{
|
||||
return this->fontTypewriter;
|
||||
}
|
||||
/*! \copydoc fontScript \see fontScript */
|
||||
/*! \copydoc fontScript */
|
||||
inline void setFontScript(const QString & __value)
|
||||
{
|
||||
this->fontScript = __value;
|
||||
}
|
||||
/*! \copydoc fontScript \see fontScript */
|
||||
/*! \copydoc fontScript */
|
||||
inline QString getFontScript() const
|
||||
{
|
||||
return this->fontScript;
|
||||
}
|
||||
/*! \copydoc fontGreek \see fontGreek */
|
||||
/*! \copydoc fontGreek */
|
||||
inline void setFontGreek(const QString & __value)
|
||||
{
|
||||
this->fontGreek = __value;
|
||||
}
|
||||
/*! \copydoc fontGreek \see fontGreek */
|
||||
/*! \copydoc fontGreek */
|
||||
inline QString getFontGreek() const
|
||||
{
|
||||
return this->fontGreek;
|
||||
}
|
||||
/*! \copydoc fontSymbol \see fontSymbol */
|
||||
/*! \copydoc fontSymbol */
|
||||
inline void setFontSymbol(const QString & __value)
|
||||
{
|
||||
this->fontSymbol = __value;
|
||||
}
|
||||
/*! \copydoc fontSymbol \see fontSymbol */
|
||||
/*! \copydoc fontSymbol */
|
||||
inline QString getFontSymbol() const
|
||||
{
|
||||
return this->fontSymbol;
|
||||
}
|
||||
/*! \copydoc fontBraces \see fontBraces */
|
||||
/*! \copydoc fontBraces */
|
||||
inline void setFontBraces(const QString & __value)
|
||||
{
|
||||
this->fontBraces = __value;
|
||||
}
|
||||
/*! \copydoc fontBraces \see fontBraces */
|
||||
/*! \copydoc fontBraces */
|
||||
inline QString getFontBraces() const
|
||||
{
|
||||
return this->fontBraces;
|
||||
}
|
||||
/*! \copydoc fontIntegrals \see fontIntegrals */
|
||||
/*! \copydoc fontIntegrals */
|
||||
inline void setFontIntegrals(const QString & __value)
|
||||
{
|
||||
this->fontIntegrals = __value;
|
||||
}
|
||||
/*! \copydoc fontIntegrals \see fontIntegrals */
|
||||
/*! \copydoc fontIntegrals */
|
||||
inline QString getFontIntegrals() const
|
||||
{
|
||||
return this->fontIntegrals;
|
||||
}
|
||||
/*! \copydoc fontCaligraphic \see fontCaligraphic */
|
||||
/*! \copydoc fontCaligraphic */
|
||||
inline void setFontCaligraphic(const QString & __value)
|
||||
{
|
||||
this->fontCaligraphic = __value;
|
||||
}
|
||||
/*! \copydoc fontCaligraphic \see fontCaligraphic */
|
||||
/*! \copydoc fontCaligraphic */
|
||||
inline QString getFontCaligraphic() const
|
||||
{
|
||||
return this->fontCaligraphic;
|
||||
}
|
||||
/*! \copydoc fontBlackboard \see fontBlackboard */
|
||||
/*! \copydoc fontBlackboard */
|
||||
inline void setFontBlackboard(const QString & __value)
|
||||
{
|
||||
this->fontBlackboard = __value;
|
||||
}
|
||||
/*! \copydoc fontBlackboard \see fontBlackboard */
|
||||
/*! \copydoc fontBlackboard */
|
||||
inline QString getFontBlackboard() const
|
||||
{
|
||||
return this->fontBlackboard;
|
||||
}
|
||||
/*! \copydoc fontLatexPrefix \see fontLatexPrefix */
|
||||
/*! \copydoc fontLatexPrefix */
|
||||
inline void setFontLatexPrefix(const QString & __value)
|
||||
{
|
||||
this->fontLatexPrefix = __value;
|
||||
}
|
||||
/*! \copydoc fontLatexPrefix \see fontLatexPrefix */
|
||||
/*! \copydoc fontLatexPrefix */
|
||||
inline QString getFontLatexPrefix() const
|
||||
{
|
||||
return this->fontLatexPrefix;
|
||||
}
|
||||
/*! \copydoc fontLatexPostfix \see fontLatexPostfix */
|
||||
/*! \copydoc fontLatexPostfix */
|
||||
inline void setFontLatexPostfix(const QString & __value)
|
||||
{
|
||||
this->fontLatexPostfix = __value;
|
||||
}
|
||||
/*! \copydoc fontLatexPostfix \see fontLatexPostfix */
|
||||
/*! \copydoc fontLatexPostfix */
|
||||
inline QString getFontLatexPostfix() const
|
||||
{
|
||||
return this->fontLatexPostfix;
|
||||
}
|
||||
/*! \copydoc fontEncoding \see fontEncoding */
|
||||
/*! \copydoc fontEncoding */
|
||||
inline void setFontEncoding(const MTfontEncoding & __value)
|
||||
{
|
||||
this->fontEncoding = __value;
|
||||
}
|
||||
/*! \copydoc fontEncoding \see fontEncoding */
|
||||
/*! \copydoc fontEncoding */
|
||||
inline MTfontEncoding getFontEncoding() const
|
||||
{
|
||||
return this->fontEncoding;
|
||||
@ -489,162 +487,162 @@ class JKQTP_LIB_EXPORT JKQTMathText : public QObject {
|
||||
inline bool isUsingXITSfonts() const {
|
||||
return this->useXITSfonts;
|
||||
}
|
||||
/*! \copydoc brace_factor \see brace_factor */
|
||||
/*! \copydoc brace_factor */
|
||||
inline void setBraceFactor(double __value)
|
||||
{
|
||||
this->brace_factor = __value;
|
||||
}
|
||||
/*! \copydoc brace_factor \see brace_factor */
|
||||
/*! \copydoc brace_factor */
|
||||
inline double getBraceFactor() const
|
||||
{
|
||||
return this->brace_factor;
|
||||
}
|
||||
/*! \copydoc subsuper_size_factor \see subsuper_size_factor */
|
||||
/*! \copydoc subsuper_size_factor */
|
||||
inline void setSubsuperSizeFactor(double __value)
|
||||
{
|
||||
this->subsuper_size_factor = __value;
|
||||
}
|
||||
/*! \copydoc subsuper_size_factor \see subsuper_size_factor */
|
||||
/*! \copydoc subsuper_size_factor */
|
||||
inline double getSubsuperSizeFactor() const
|
||||
{
|
||||
return this->subsuper_size_factor;
|
||||
}
|
||||
/*! \copydoc italic_correction_factor \see italic_correction_factor */
|
||||
/*! \copydoc italic_correction_factor */
|
||||
inline void setItalicCorrectionFactor(double __value)
|
||||
{
|
||||
this->italic_correction_factor = __value;
|
||||
}
|
||||
/*! \copydoc italic_correction_factor \see italic_correction_factor */
|
||||
/*! \copydoc italic_correction_factor */
|
||||
inline double getItalicCorrectionFactor() const
|
||||
{
|
||||
return this->italic_correction_factor;
|
||||
}
|
||||
/*! \copydoc operatorsubsuper_size_factor \see operatorsubsuper_size_factor */
|
||||
/*! \copydoc operatorsubsuper_size_factor */
|
||||
inline void setOperatorsubsuperSizeFactor(double __value)
|
||||
{
|
||||
this->operatorsubsuper_size_factor = __value;
|
||||
}
|
||||
/*! \copydoc operatorsubsuper_size_factor \see operatorsubsuper_size_factor */
|
||||
/*! \copydoc operatorsubsuper_size_factor */
|
||||
inline double getOperatorsubsuperSizeFactor() const
|
||||
{
|
||||
return this->operatorsubsuper_size_factor;
|
||||
}
|
||||
/*! \copydoc mathoperator_width_factor \see mathoperator_width_factor */
|
||||
/*! \copydoc mathoperator_width_factor */
|
||||
inline void setMathoperatorWidthFactor(double __value)
|
||||
{
|
||||
this->mathoperator_width_factor = __value;
|
||||
}
|
||||
/*! \copydoc mathoperator_width_factor \see mathoperator_width_factor */
|
||||
/*! \copydoc mathoperator_width_factor */
|
||||
inline double getMathoperatorWidthFactor() const
|
||||
{
|
||||
return this->mathoperator_width_factor;
|
||||
}
|
||||
/*! \copydoc super_shift_factor \see super_shift_factor */
|
||||
/*! \copydoc super_shift_factor */
|
||||
inline void setSuperShiftFactor(double __value)
|
||||
{
|
||||
this->super_shift_factor = __value;
|
||||
}
|
||||
/*! \copydoc super_shift_factor \see super_shift_factor */
|
||||
/*! \copydoc super_shift_factor */
|
||||
inline double getSuperShiftFactor() const
|
||||
{
|
||||
return this->super_shift_factor;
|
||||
}
|
||||
/*! \copydoc sub_shift_factor \see sub_shift_factor */
|
||||
/*! \copydoc sub_shift_factor */
|
||||
inline void setSubShiftFactor(double __value)
|
||||
{
|
||||
this->sub_shift_factor = __value;
|
||||
}
|
||||
/*! \copydoc sub_shift_factor \see sub_shift_factor */
|
||||
/*! \copydoc sub_shift_factor */
|
||||
inline double getSubShiftFactor() const
|
||||
{
|
||||
return this->sub_shift_factor;
|
||||
}
|
||||
/*! \copydoc brace_shrink_factor \see brace_shrink_factor */
|
||||
/*! \copydoc brace_shrink_factor */
|
||||
inline void setBraceShrinkFactor(double __value)
|
||||
{
|
||||
this->brace_shrink_factor = __value;
|
||||
}
|
||||
/*! \copydoc brace_shrink_factor \see brace_shrink_factor */
|
||||
/*! \copydoc brace_shrink_factor */
|
||||
inline double getBraceShrinkFactor() const
|
||||
{
|
||||
return this->brace_shrink_factor;
|
||||
}
|
||||
/*! \copydoc underbrace_factor \see underbrace_factor */
|
||||
/*! \copydoc underbrace_factor */
|
||||
inline void setUnderbraceFactor(double __value)
|
||||
{
|
||||
this->underbrace_factor = __value;
|
||||
}
|
||||
/*! \copydoc underbrace_factor \see underbrace_factor */
|
||||
/*! \copydoc underbrace_factor */
|
||||
inline double getUnderbraceFactor() const
|
||||
{
|
||||
return this->underbrace_factor;
|
||||
}
|
||||
/*! \copydoc undersetFactor \see undersetFactor */
|
||||
/*! \copydoc undersetFactor */
|
||||
inline void setUndersetFactor(double __value)
|
||||
{
|
||||
this->undersetFactor = __value;
|
||||
}
|
||||
/*! \copydoc undersetFactor \see undersetFactor */
|
||||
/*! \copydoc undersetFactor */
|
||||
inline double getUndersetFactor() const
|
||||
{
|
||||
return this->undersetFactor;
|
||||
}
|
||||
/*! \copydoc frac_factor \see frac_factor */
|
||||
/*! \copydoc frac_factor */
|
||||
inline void setFracFactor(double __value)
|
||||
{
|
||||
this->frac_factor = __value;
|
||||
}
|
||||
/*! \copydoc frac_factor \see frac_factor */
|
||||
/*! \copydoc frac_factor */
|
||||
inline double getFracFactor() const
|
||||
{
|
||||
return this->frac_factor;
|
||||
}
|
||||
/*! \copydoc frac_shift_factor \see frac_shift_factor */
|
||||
/*! \copydoc frac_shift_factor */
|
||||
inline void setFracShiftFactor(double __value)
|
||||
{
|
||||
this->frac_shift_factor = __value;
|
||||
}
|
||||
/*! \copydoc frac_shift_factor \see frac_shift_factor */
|
||||
/*! \copydoc frac_shift_factor */
|
||||
inline double getFracShiftFactor() const
|
||||
{
|
||||
return this->frac_shift_factor;
|
||||
}
|
||||
/*! \copydoc brace_y_shift_factor \see brace_y_shift_factor */
|
||||
/*! \copydoc brace_y_shift_factor */
|
||||
inline void setBraceYShiftFactor(double __value)
|
||||
{
|
||||
this->brace_y_shift_factor = __value;
|
||||
}
|
||||
/*! \copydoc brace_y_shift_factor \see brace_y_shift_factor */
|
||||
/*! \copydoc brace_y_shift_factor */
|
||||
inline double getBraceYShiftFactor() const
|
||||
{
|
||||
return this->brace_y_shift_factor;
|
||||
}
|
||||
/*! \copydoc decoration_height_factor \see decoration_height_factor */
|
||||
/*! \copydoc decoration_height_factor */
|
||||
inline void setDecorationHeightFactor(double __value)
|
||||
{
|
||||
this->decoration_height_factor = __value;
|
||||
}
|
||||
/*! \copydoc decoration_height_factor \see decoration_height_factor */
|
||||
/*! \copydoc decoration_height_factor */
|
||||
inline double getDecorationHeightFactor() const
|
||||
{
|
||||
return this->decoration_height_factor;
|
||||
}
|
||||
/*! \copydoc expensiveRendering \see expensiveRendering */
|
||||
/*! \copydoc expensiveRendering */
|
||||
inline void setExpensiveRendering(bool __value)
|
||||
{
|
||||
this->expensiveRendering = __value;
|
||||
}
|
||||
/*! \copydoc expensiveRendering \see expensiveRendering */
|
||||
/*! \copydoc expensiveRendering */
|
||||
inline bool getExpensiveRendering() const
|
||||
{
|
||||
return this->expensiveRendering;
|
||||
}
|
||||
/*! \copydoc useUnparsed \see useUnparsed */
|
||||
/*! \copydoc useUnparsed */
|
||||
inline void setUseUnparsed(bool __value)
|
||||
{
|
||||
this->useUnparsed = __value;
|
||||
}
|
||||
/*! \copydoc useUnparsed \see useUnparsed */
|
||||
/*! \copydoc useUnparsed */
|
||||
inline bool isUsingUnparsed() const
|
||||
{
|
||||
return this->useUnparsed;
|
||||
|
@ -621,6 +621,7 @@ class JKQTP_LIB_EXPORT JKQTBasePlotter: public QObject {
|
||||
/*! \brief draw the contained graph (including grid prints) into the given JKQTPEnhancedPainter
|
||||
\param painter JKQTPEnhancedPainter to which the plot should be drawn
|
||||
\param rect rectangle to plot into
|
||||
\param showOverlays decides whether to draw overlays
|
||||
*/
|
||||
void draw(JKQTPEnhancedPainter& painter, const QRect& rect, bool showOverlays=true);
|
||||
|
||||
@ -633,20 +634,27 @@ class JKQTP_LIB_EXPORT JKQTBasePlotter: public QObject {
|
||||
/*! \brief draw the contained graph (including grid prints) into the given JKQTPEnhancedPainter
|
||||
\param painter JKQTPEnhancedPainter to which the plot should be drawn
|
||||
\param pos where to plot the painter (left-top corner)
|
||||
\param showOverlays decides whether to draw overlays
|
||||
*/
|
||||
void draw(JKQTPEnhancedPainter& painter, const QPoint& pos=QPoint(0,0), bool showOverlays=true);
|
||||
|
||||
/*! \brief draw the contained graph (including grid prints) into the given JKQTPEnhancedPainter
|
||||
\param painter JKQTPEnhancedPainter to which the plot should be drawn
|
||||
\param rect rectangle to plot into
|
||||
\param showOverlays decides whether to draw overlays
|
||||
*/
|
||||
void drawNonGrid(JKQTPEnhancedPainter& painter, const QRect& rect, bool showOverlays=true);
|
||||
|
||||
/*! \brief draw the contained graph (including grid prints) into the given JKQTPEnhancedPainter
|
||||
\param painter JKQTPEnhancedPainter to which the plot should be drawn
|
||||
\param pos where to plot the painter (left-top corner)
|
||||
\param showOverlays decides whether to draw overlays
|
||||
*/
|
||||
void drawNonGrid(JKQTPEnhancedPainter& painter, const QPoint& pos=QPoint(0,0), bool showOverlays=true);
|
||||
/*! \brief draw the contained graph overlays (including grid prints) into the given JKQTPEnhancedPainter
|
||||
\param painter JKQTPEnhancedPainter to which the plot should be drawn
|
||||
\param pos where to plot the painter (left-top corner)
|
||||
*/
|
||||
void drawNonGridOverlays(JKQTPEnhancedPainter &painter, const QPoint& pos=QPoint(0,0));
|
||||
|
||||
/** \brief emit plotUpdated() */
|
||||
@ -681,7 +689,7 @@ class JKQTP_LIB_EXPORT JKQTBasePlotter: public QObject {
|
||||
bool isUsingAntiAliasingForGraphs() const;
|
||||
/** \copydoc JKQTBasePlotterStyle::useAntiAliasingForText */
|
||||
bool isUsingAntiAliasingForText() const;
|
||||
/** \copydoc JKQTBasePlotterStyle:defaultGraphWidth: */
|
||||
/** \copydoc JKQTBasePlotterStyle::defaultGraphWidth */
|
||||
double getGraphWidth() const;
|
||||
/** \copydoc JKQTBasePlotterStyle::widgetBackgroundBrush */
|
||||
QColor getBackgroundColor() const;
|
||||
@ -821,9 +829,9 @@ class JKQTP_LIB_EXPORT JKQTBasePlotter: public QObject {
|
||||
inline double getInternalPlotBorderBottom() const { return this->internalPlotBorderBottom; }
|
||||
/*! \brief returns the property internalPlotBorderRight ( \copybrief internalPlotBorderRight ). \details Description of the parameter internalPlotBorderRight is: <BLOCKQUOTE>\copydoc internalPlotBorderRight </BLOCKQUOTE>. \see internalPlotBorderRight for more information */
|
||||
inline double getInternalPlotBorderRight() const { return this->internalPlotBorderRight; }
|
||||
/*! \brief returns the property plotWidth ( \copybrief plotWidth ). \details Description of the parameter plotWidth is: <BLOCKQUOTE>\copydoc plotWidth </BLOCKQUOTE>. \see plotWidth for more information */
|
||||
/*! \copydoc internalPlotWidth */
|
||||
inline int getPlotWidth() const { return this->internalPlotWidth; }
|
||||
/*! \brief returns the property plotHeight ( \copybrief plotHeight ). \details Description of the parameter plotHeight is: <BLOCKQUOTE>\copydoc plotHeight </BLOCKQUOTE>. \see plotHeight for more information */
|
||||
/*! \copydoc internalPlotHeight */
|
||||
inline int getPlotHeight() const { return this->internalPlotHeight; }
|
||||
/** \brief returns the internal JKQTMathText, used to render text with LaTeX markup */
|
||||
JKQTMathText* getMathText();
|
||||
@ -1746,12 +1754,22 @@ class JKQTP_LIB_EXPORT JKQTBasePlotter: public QObject {
|
||||
|
||||
|
||||
|
||||
/** \brief paints the plot onto the given JKQTPEnhancedPainter object */
|
||||
/** \brief paints the plot onto the given JKQTPEnhancedPainter object
|
||||
*
|
||||
* \param painter JKQTPEnhancedPainter to draw on
|
||||
* \param showOverlays decides whether to draw overlays
|
||||
*/
|
||||
void drawPlot(JKQTPEnhancedPainter& painter, bool showOverlays=true);
|
||||
/** \brief simply calls paintPlot() if grid printing mode is deactivated and prints the graph grid otherwise
|
||||
* \a pageRect is used to determine the size of the page to draw on. If this does not coincide with
|
||||
* the widget extents this function calculates a scaling factor so the graphs fit onto the page. This
|
||||
* is especially usefull when printing!
|
||||
*
|
||||
* \param painter JKQTPEnhancedPainter to draw on
|
||||
* \param pageRect size of the page
|
||||
* \param showOverlays decides whether to draw overlays
|
||||
* \param scaleIfTooLarge scale image if it is too large for pageRect
|
||||
* \param scaleIfTooSmall scale image if it is smaller than pageRect
|
||||
*/
|
||||
void gridPaint(JKQTPEnhancedPainter& painter, QSizeF pageRect, bool showOverlays=true, bool scaleIfTooLarge=true, bool scaleIfTooSmall=true);
|
||||
void gridPaintOverlays(JKQTPEnhancedPainter& painter, QSizeF pageRect);
|
||||
|
@ -231,150 +231,104 @@ class JKQTP_LIB_EXPORT JKQTPCoordinateAxis: public QObject {
|
||||
virtual void drawGrids(JKQTPEnhancedPainter& painter)=0;
|
||||
|
||||
|
||||
/*! \copydoc tickSpacing
|
||||
\see tickSpacing */
|
||||
/*! \copydoc tickSpacing */
|
||||
inline double getTickSpacing() const { return this->tickSpacing; }
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::labelDigits
|
||||
\see JKQTPCoordinateAxisStyle::labelDigits */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::labelDigits */
|
||||
inline int getLabelDigits() const { return this->axisStyle.labelDigits; }
|
||||
/*! \copydoc autoAxisSpacing
|
||||
\see autoAxisSpacing */
|
||||
/*! \copydoc autoAxisSpacing */
|
||||
inline bool getAutoAxisSpacing() const { return this->autoAxisSpacing; }
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorTickLabelsEnabled
|
||||
\see JKQTPCoordinateAxisStyle::minorTickLabelsEnabled */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorTickLabelsEnabled */
|
||||
inline bool getMinorTickLabelsEnabled() const { return this->axisStyle.minorTickLabelsEnabled; }
|
||||
/*! \copydoc logAxis
|
||||
\see logAxis */
|
||||
/*! \copydoc logAxis */
|
||||
inline bool getLogAxis() const { return this->logAxis; }
|
||||
/*! \copydoc inverted
|
||||
\see inverted */
|
||||
/*! \copydoc inverted */
|
||||
inline bool getInverted() const { return this->inverted; }
|
||||
/*! \copydoc logAxisBase
|
||||
\see logAxisBase */
|
||||
/*! \copydoc logAxisBase */
|
||||
inline double getLogAxisBase() const { return this->logAxisBase; }
|
||||
/*! \copydoc userTickSpacing
|
||||
\see userTickSpacing */
|
||||
/*! \copydoc userTickSpacing */
|
||||
inline double getUserTickSpacing() const { return this->userTickSpacing; }
|
||||
/*! \copydoc userLogTickSpacing
|
||||
\see userLogTickSpacing */
|
||||
/*! \copydoc userLogTickSpacing */
|
||||
inline double getUserLogTickSpacing() const { return this->userLogTickSpacing; }
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::labelType
|
||||
\see JKQTPCoordinateAxisStyle::labelType */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::labelType */
|
||||
inline JKQTPCALabelType getLabelType() const { return this->axisStyle.labelType; }
|
||||
/*! \copydoc axisLabel
|
||||
\see axisLabel */
|
||||
/*! \copydoc axisLabel */
|
||||
inline QString getAxisLabel() const { return this->axisLabel; }
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::labelPosition
|
||||
\see JKQTPCoordinateAxisStyle::labelPosition */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::labelPosition */
|
||||
inline JKQTPLabelPosition getLabelPosition() const { return this->axisStyle.labelPosition; }
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::labelFontSize
|
||||
\see JKQTPCoordinateAxisStyle::labelFontSize */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::labelFontSize */
|
||||
inline double getLabelFontSize() const { return this->axisStyle.labelFontSize; }
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickLabelFontSize
|
||||
\see JKQTPCoordinateAxisStyle::tickLabelFontSize */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickLabelFontSize */
|
||||
inline double getTickLabelFontSize() const { return this->axisStyle.tickLabelFontSize; }
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorTickLabelFontSize
|
||||
\see JKQTPCoordinateAxisStyle::minorTickLabelFontSize */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorTickLabelFontSize */
|
||||
inline double getMinorTickLabelFontSize() const { return this->axisStyle.minorTickLabelFontSize; }
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorTickLabelFullNumber
|
||||
\see JKQTPCoordinateAxisStyle::minorTickLabelFullNumber */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorTickLabelFullNumber */
|
||||
inline bool getMinorTickLabelFullNumber() const { return this->axisStyle.minorTickLabelFullNumber; }
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickLabelAngle
|
||||
\see JKQTPCoordinateAxisStyle::tickLabelAngle */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickLabelAngle */
|
||||
inline double getTickLabelAngle() const { return this->axisStyle.tickLabelAngle; }
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minTicks
|
||||
\see JKQTPCoordinateAxisStyle::minTicks */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minTicks */
|
||||
inline unsigned int getMinTicks() const { return this->axisStyle.minTicks; }
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorTicks
|
||||
\see JKQTPCoordinateAxisStyle::minorTicks */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorTicks */
|
||||
inline unsigned int getMinorTicks() const { return this->axisStyle.minorTicks; }
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickOutsideLength
|
||||
\see JKQTPCoordinateAxisStyle::tickOutsideLength */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickOutsideLength */
|
||||
inline double getTickOutsideLength() const { return this->axisStyle.tickOutsideLength; }
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorTickOutsideLength
|
||||
\see JKQTPCoordinateAxisStyle::minorTickOutsideLength */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorTickOutsideLength */
|
||||
inline double getMinorTickOutsideLength() const { return this->axisStyle.minorTickOutsideLength; }
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::axisColor
|
||||
\see JKQTPCoordinateAxisStyle::axisColor */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::axisColor */
|
||||
inline QColor getAxisColor() const { return this->axisStyle.axisColor; }
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::showZeroAxis
|
||||
\see JKQTPCoordinateAxisStyle::showZeroAxis */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::showZeroAxis */
|
||||
inline bool getShowZeroAxis() const { return this->axisStyle.showZeroAxis; }
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::gridColor
|
||||
\see JKQTPCoordinateAxisStyle::gridColor */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::gridColor */
|
||||
inline QColor getGridColor() const { return this->axisStyle.gridColor; }
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorGridColor
|
||||
\see JKQTPCoordinateAxisStyle::minorGridColor */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorGridColor */
|
||||
inline QColor getMinorGridColor() const { return this->axisStyle.minorGridColor; }
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::gridWidth
|
||||
\see JKQTPCoordinateAxisStyle::gridWidth */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::gridWidth */
|
||||
inline double getGridWidth() const { return this->axisStyle.gridWidth; }
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::gridStyle
|
||||
\see JKQTPCoordinateAxisStyle::gridStyle */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::gridStyle */
|
||||
inline Qt::PenStyle getGridStyle() const { return this->axisStyle.gridStyle; }
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorGridWidth
|
||||
\see JKQTPCoordinateAxisStyle::minorGridWidth */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorGridWidth */
|
||||
inline double getMinorGridWidth() const { return this->axisStyle.minorGridWidth; }
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorGridStyle
|
||||
\see JKQTPCoordinateAxisStyle::minorGridStyle */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorGridStyle */
|
||||
inline Qt::PenStyle getMinorGridStyle() const { return this->axisStyle.minorGridStyle; }
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickTimeFormat
|
||||
\see JKQTPCoordinateAxisStyle::tickTimeFormat */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickTimeFormat */
|
||||
inline QString getTickTimeFormat() const { return this->axisStyle.tickTimeFormat; }
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickDateFormat
|
||||
\see JKQTPCoordinateAxisStyle::tickDateFormat */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickDateFormat */
|
||||
inline QString getTickDateFormat() const { return this->axisStyle.tickDateFormat; }
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickDateTimeFormat
|
||||
\see JKQTPCoordinateAxisStyle::tickDateTimeFormat */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickDateTimeFormat */
|
||||
inline QString getTickDateTimeFormat() const { return this->axisStyle.tickDateTimeFormat; }
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickMode
|
||||
\see JKQTPCoordinateAxisStyle::tickMode */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickMode */
|
||||
inline JKQTPLabelTickMode getTickMode() const { return this->axisStyle.tickMode; }
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::drawMode1
|
||||
\see JKQTPCoordinateAxisStyle::drawMode1 */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::drawMode1 */
|
||||
inline JKQTPCADrawMode getDrawMode1() const { return this->axisStyle.drawMode1; }
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::drawMode2
|
||||
\see JKQTPCoordinateAxisStyle::drawMode2 */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::drawMode2 */
|
||||
inline JKQTPCADrawMode getDrawMode2() const { return this->axisStyle.drawMode2; }
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorTickWidth
|
||||
\see JKQTPCoordinateAxisStyle::minorTickWidth */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorTickWidth */
|
||||
inline double getMinorTickWidth() const { return this->axisStyle.minorTickWidth; }
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickWidth
|
||||
\see JKQTPCoordinateAxisStyle::tickWidth */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickWidth */
|
||||
inline double getTickWidth() const { return this->axisStyle.tickWidth; }
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::lineWidth
|
||||
\see JKQTPCoordinateAxisStyle::lineWidth */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::lineWidth */
|
||||
inline double getLineWidth() const { return this->axisStyle.lineWidth; }
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::lineWidthZeroAxis
|
||||
\see JKQTPCoordinateAxisStyle::lineWidthZeroAxis */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::lineWidthZeroAxis */
|
||||
inline double getLineWidthZeroAxis() const { return this->axisStyle.lineWidthZeroAxis; }
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickLabelDistance
|
||||
\see JKQTPCoordinateAxisStyle::tickLabelDistance */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickLabelDistance */
|
||||
inline double getTickLabelDistance() const { return this->axisStyle.tickLabelDistance; }
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::labelDistance
|
||||
\see JKQTPCoordinateAxisStyle::labelDistance */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::labelDistance */
|
||||
inline double getLabelDistance() const { return this->axisStyle.labelDistance; }
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::drawGrid
|
||||
\see JKQTPCoordinateAxisStyle::drawGrid */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::drawGrid */
|
||||
inline bool getDrawGrid() const { return this->axisStyle.drawGrid; }
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::drawMinorGrid
|
||||
\see JKQTPCoordinateAxisStyle::drawMinorGrid */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::drawMinorGrid */
|
||||
inline bool getDrawMinorGrid() const { return this->axisStyle.drawMinorGrid; }
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::autoLabelDigits
|
||||
\see JKQTPCoordinateAxisStyle::autoLabelDigits */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::autoLabelDigits */
|
||||
inline void setAutoLabelDigits(bool __value)
|
||||
{
|
||||
this->axisStyle.autoLabelDigits = __value;
|
||||
}
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::autoLabelDigits
|
||||
\see JKQTPCoordinateAxisStyle::autoLabelDigits */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::autoLabelDigits */
|
||||
inline bool getAutoLabelDigits() const
|
||||
{
|
||||
return this->axisStyle.autoLabelDigits;
|
||||
}
|
||||
/*! \copydoc parent
|
||||
\see parent */
|
||||
/*! \copydoc parent */
|
||||
inline const JKQTBasePlotter* getParent() const { return this->parent; }
|
||||
/*! \brief returns the property parent ( \copybrief parent ). \details Description of the parameter parent is: <BLOCKQUOTE>\copydoc parent </BLOCKQUOTE>. \see parent for more information */
|
||||
inline JKQTBasePlotter* getParent() { return this->parent; }
|
||||
@ -453,198 +407,150 @@ class JKQTP_LIB_EXPORT JKQTPCoordinateAxis: public QObject {
|
||||
/** \brief do not use an absolute range of plot axis */
|
||||
void setNoAbsoluteRange();
|
||||
|
||||
/*! \copydoc tickSpacing
|
||||
\see tickSpacing */
|
||||
/*! \copydoc tickSpacing */
|
||||
void setTickSpacing(double __value);
|
||||
|
||||
/*! \copydoc axisMinWidth
|
||||
\see axisMinWidth */
|
||||
/*! \copydoc axisMinWidth */
|
||||
void setAxisMinWidth(double __value);
|
||||
|
||||
/*! \copydoc autoAxisSpacing
|
||||
\see autoAxisSpacing */
|
||||
/*! \copydoc autoAxisSpacing */
|
||||
void setAutoAxisSpacing(bool __value);
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorTickLabelsEnabled
|
||||
\see JKQTPCoordinateAxisStyle::minorTickLabelsEnabled */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorTickLabelsEnabled */
|
||||
void setMinorTickLabelsEnabled(bool __value);
|
||||
|
||||
/*! \copydoc logAxis
|
||||
\see logAxis */
|
||||
/*! \copydoc logAxis */
|
||||
void setLogAxis(bool __value) ;
|
||||
|
||||
/*! \copydoc logAxisBase
|
||||
\see logAxisBase */
|
||||
/*! \copydoc logAxisBase */
|
||||
void setLogAxisBase (double __value);
|
||||
|
||||
/*! \copydoc userTickSpacing
|
||||
\see userTickSpacing */
|
||||
/*! \copydoc userTickSpacing */
|
||||
void setUserTickSpacing (double __value);
|
||||
|
||||
/*! \copydoc userLogTickSpacing
|
||||
\see userLogTickSpacing */
|
||||
/*! \copydoc userLogTickSpacing */
|
||||
void setUserLogTickSpacing (double __value);
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::labelType
|
||||
\see JKQTPCoordinateAxisStyle::labelType */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::labelType */
|
||||
void setLabelType (JKQTPCALabelType __value);
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickMode
|
||||
\see JKQTPCoordinateAxisStyle::tickMode */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickMode */
|
||||
void setTickMode (JKQTPLabelTickMode __value);
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickMode
|
||||
\see JKQTPCoordinateAxisStyle::tickMode */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickMode */
|
||||
void setTickMode (int __value);
|
||||
|
||||
/*! \copydoc axisLabel
|
||||
\see axisLabel */
|
||||
/*! \copydoc axisLabel */
|
||||
void setAxisLabel (const QString& __value);
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::labelPosition
|
||||
\see JKQTPCoordinateAxisStyle::labelPosition */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::labelPosition */
|
||||
void setLabelPosition (JKQTPLabelPosition __value);
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::labelFontSize
|
||||
\see JKQTPCoordinateAxisStyle::labelFontSize */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::labelFontSize */
|
||||
void setLabelFontSize (double __value);
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickTimeFormat
|
||||
\see JKQTPCoordinateAxisStyle::tickTimeFormat */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickTimeFormat */
|
||||
void setTickTimeFormat (const QString& __value);
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickDateFormat
|
||||
\see JKQTPCoordinateAxisStyle::tickDateFormat */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickDateFormat */
|
||||
void setTickDateFormat (const QString& __value);
|
||||
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickDateTimeFormat
|
||||
\see JKQTPCoordinateAxisStyle::tickDateTimeFormat */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickDateTimeFormat */
|
||||
void setTickDateTimeFormat (const QString& __value);
|
||||
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickLabelFontSize
|
||||
\see JKQTPCoordinateAxisStyle::tickLabelFontSize */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickLabelFontSize */
|
||||
void setTickLabelFontSize (double __value);
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorTickLabelFontSize
|
||||
\see JKQTPCoordinateAxisStyle::minorTickLabelFontSize */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorTickLabelFontSize */
|
||||
void setMinorTickLabelFontSize (double __value);
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorTickLabelFullNumber
|
||||
\see JKQTPCoordinateAxisStyle::minorTickLabelFullNumber */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorTickLabelFullNumber */
|
||||
void setMinorTickLabelFullNumber (bool __value);
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minTicks
|
||||
\see JKQTPCoordinateAxisStyle::minTicks */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minTicks */
|
||||
void setMinTicks(unsigned int __value);
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorTicks
|
||||
\see JKQTPCoordinateAxisStyle::minorTicks */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorTicks */
|
||||
void setMinorTicks (unsigned int __value);
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorTicks
|
||||
\see JKQTPCoordinateAxisStyle::minorTicks */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorTicks */
|
||||
void setMinorTicks (int __value);
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickOutsideLength
|
||||
\see JKQTPCoordinateAxisStyle::tickOutsideLength */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickOutsideLength */
|
||||
void setTickOutsideLength(double __value);
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorTickOutsideLength
|
||||
\see JKQTPCoordinateAxisStyle::minorTickOutsideLength */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorTickOutsideLength */
|
||||
void setMinorTickOutsideLength (double __value);
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickInsideLength
|
||||
\see JKQTPCoordinateAxisStyle::tickInsideLength */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickInsideLength */
|
||||
void setTickInsideLength(double __value);
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorTickInsideLength
|
||||
\see JKQTPCoordinateAxisStyle::minorTickInsideLength */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorTickInsideLength */
|
||||
void setMinorTickInsideLength (double __value);
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::axisColor
|
||||
\see JKQTPCoordinateAxisStyle::axisColor */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::axisColor */
|
||||
void setAxisColor (const QColor& __value);
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::showZeroAxis
|
||||
\see JKQTPCoordinateAxisStyle::showZeroAxis */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::showZeroAxis */
|
||||
void setShowZeroAxis(bool __value);
|
||||
|
||||
/*! \copydoc inverted
|
||||
\see inverted */
|
||||
/*! \copydoc inverted */
|
||||
void setInverted(bool __value);
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::gridColor
|
||||
\see JKQTPCoordinateAxisStyle::gridColor */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::gridColor */
|
||||
void setGridColor(const QColor& __value);
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorGridColor
|
||||
\see JKQTPCoordinateAxisStyle::minorGridColor */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorGridColor */
|
||||
void setMinorGridColor(const QColor& __value);
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::gridWidth
|
||||
\see JKQTPCoordinateAxisStyle::gridWidth */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::gridWidth */
|
||||
void setGridWidth (double __value);
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::gridStyle
|
||||
\see JKQTPCoordinateAxisStyle::gridStyle */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::gridStyle */
|
||||
void setGridStyle(Qt::PenStyle __value);
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorGridWidth
|
||||
\see JKQTPCoordinateAxisStyle::minorGridWidth */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorGridWidth */
|
||||
void setMinorGridWidth(double __value);
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorGridStyle
|
||||
\see JKQTPCoordinateAxisStyle::minorGridStyle */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorGridStyle */
|
||||
void setMinorGridStyle (Qt::PenStyle __value);
|
||||
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::drawMode1
|
||||
\see JKQTPCoordinateAxisStyle::drawMode1 */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::drawMode1 */
|
||||
void setDrawMode1 (JKQTPCADrawMode __value);
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::drawMode2
|
||||
\see JKQTPCoordinateAxisStyle::drawMode2 */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::drawMode2 */
|
||||
void setDrawMode2(JKQTPCADrawMode __value);
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorTickWidth
|
||||
\see JKQTPCoordinateAxisStyle::minorTickWidth */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::minorTickWidth */
|
||||
void setMinorTickWidth(double __value);
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickWidth
|
||||
\see JKQTPCoordinateAxisStyle::tickWidth */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickWidth */
|
||||
void setTickWidth (double __value);
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::lineWidth
|
||||
\see JKQTPCoordinateAxisStyle::lineWidth */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::lineWidth */
|
||||
void setLineWidth (double __value);
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::lineWidthZeroAxis
|
||||
\see JKQTPCoordinateAxisStyle::lineWidthZeroAxis */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::lineWidthZeroAxis */
|
||||
void setLineWidthZeroAxis (double __value);
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickLabelDistance
|
||||
\see JKQTPCoordinateAxisStyle::tickLabelDistance */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickLabelDistance */
|
||||
void setTickLabelDistance(double __value);
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::labelDistance
|
||||
\see JKQTPCoordinateAxisStyle::labelDistance */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::labelDistance */
|
||||
void setLabelDistance(double __value);
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::labelDigits
|
||||
\see JKQTPCoordinateAxisStyle::labelDigits */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::labelDigits */
|
||||
void setLabelDigits(int __value);
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::drawGrid
|
||||
\see JKQTPCoordinateAxisStyle::drawGrid */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::drawGrid */
|
||||
void setDrawGrid(bool __value);
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::drawMinorGrid
|
||||
\see JKQTPCoordinateAxisStyle::drawMinorGrid */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::drawMinorGrid */
|
||||
void setDrawMinorGrid(bool __value);
|
||||
|
||||
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickLabelAngle
|
||||
\see JKQTPCoordinateAxisStyle::tickLabelAngle */
|
||||
/*! \copydoc JKQTPCoordinateAxisStyle::tickLabelAngle */
|
||||
void setTickLabelAngle(double __value);
|
||||
|
||||
protected:
|
||||
|
@ -82,7 +82,7 @@ enum class JKQTPDatastoreItemFormat {
|
||||
/** \brief This class manages chunks of memory that are used for column data in JKQTBasePlotter descendents
|
||||
* \ingroup jkqtpdatastorage
|
||||
*
|
||||
* \see \ref JKQTPlotterAdvancedJKQTPDatastore for a detailed description of how to use this class for data management!
|
||||
* \see \ref JKQTPlotterBasicJKQTPDatastore for a detailed description of how to use this class for data management!
|
||||
*
|
||||
* This class manages a list if JKQTPDatastoreItem onjects that may each contain a chunk of memory, containig
|
||||
* one or more columns of data. Each item can be accessed with get() by a specific ID which is returned by add().
|
||||
@ -180,7 +180,7 @@ class JKQTP_LIB_EXPORT JKQTPDatastore{
|
||||
}
|
||||
|
||||
/** \brief add a new columns which references a specified item and a specified column therein.
|
||||
* \see \ref JKQTPlotterAdvancedJKQTPDatastore
|
||||
* \see \ref JKQTPlotterBasicJKQTPDatastore
|
||||
*/
|
||||
size_t addColumnForItem(size_t itemID, size_t columnInItem, const QString& name=QString(""));
|
||||
|
||||
@ -275,8 +275,8 @@ class JKQTP_LIB_EXPORT JKQTPDatastore{
|
||||
/** \brief adds a values in cintainer \a values to the column \a column. This changes the column length (number of rows). If the memory was externally managed before, it will be internally managed afterwards
|
||||
*
|
||||
* \tparam TContainer a container with standard iterators
|
||||
* \param colum the column to extend
|
||||
* \param vales vector with data to append to column \a column
|
||||
* \param column the column to extend
|
||||
* \param values vector with data to append to column \a column
|
||||
*/
|
||||
template<class TContainer>
|
||||
inline void appendFromContainerToColumn(size_t column, const TContainer& values);
|
||||
@ -312,7 +312,7 @@ class JKQTP_LIB_EXPORT JKQTPDatastore{
|
||||
* \param rows number of rows in the data array
|
||||
* \param name name for the column
|
||||
* \return the ID of the newly created column
|
||||
* \see \ref JKQTPlotterAdvancedJKQTPDatastore
|
||||
* \see \ref JKQTPlotterBasicJKQTPDatastore
|
||||
*/
|
||||
size_t addColumn(size_t rows, const QString& name=QString(""));
|
||||
|
||||
@ -332,7 +332,7 @@ class JKQTP_LIB_EXPORT JKQTPDatastore{
|
||||
* linegraph->setXColumn(datastore->addColumn(XCA, NDATA, "xca (C-array)"));
|
||||
* linegraph->setYColumn(datastore->addColumn(YCA, NDATA, "yca (C-array)"));
|
||||
* \endcode
|
||||
* \see \ref JKQTPlotterAdvancedJKQTPDatastore
|
||||
* \see \ref JKQTPlotterBasicJKQTPDatastore
|
||||
*/
|
||||
size_t addColumn(double* data, size_t rows, const QString& name=QString(""));
|
||||
/** \brief add a column with \a rows entries from the array \a data,
|
||||
@ -352,7 +352,7 @@ class JKQTP_LIB_EXPORT JKQTPDatastore{
|
||||
* linegraph->setXColumn(datastore->addInternalColumn(XCA, NDATA, "x"));
|
||||
* linegraph->setXColumn(datastore->addInternalColumn(YCA, NDATA, "y"));
|
||||
* \endcode
|
||||
* \see \ref JKQTPlotterAdvancedJKQTPDatastore
|
||||
* \see \ref JKQTPlotterBasicJKQTPDatastore
|
||||
*/
|
||||
size_t addInternalColumn(double *data, size_t rows, const QString& name);
|
||||
|
||||
@ -364,7 +364,7 @@ class JKQTP_LIB_EXPORT JKQTPDatastore{
|
||||
* \param height height of the image represented by the data array
|
||||
* \param name name for the column
|
||||
* \return the ID of the newly created column
|
||||
* \see addImageColumn(), addInternalImageColumn(), \ref JKQTPlotterAdvancedJKQTPDatastore
|
||||
* \see addImageColumn(), addInternalImageColumn(), \ref JKQTPlotterBasicJKQTPDatastore
|
||||
*/
|
||||
size_t addImageColumn(size_t width, size_t height, const QString& name=QString(""));
|
||||
|
||||
@ -379,7 +379,7 @@ class JKQTP_LIB_EXPORT JKQTPDatastore{
|
||||
* \param name name for the column
|
||||
* \return the ID of the newly created column
|
||||
*
|
||||
* \see addColumn(), addImageColumn(), addInternalImageColumn(), \ref JKQTPlotterAdvancedJKQTPDatastore
|
||||
* \see addColumn(), addImageColumn(), addInternalImageColumn(), \ref JKQTPlotterBasicJKQTPDatastore
|
||||
*/
|
||||
size_t addImageColumn(double* data, size_t width, size_t height, const QString& name=QString(""));
|
||||
/** \brief add a column with \a width * \a height entries from the array \a data,
|
||||
@ -393,7 +393,7 @@ class JKQTP_LIB_EXPORT JKQTPDatastore{
|
||||
* \param name name for the column
|
||||
* \return the ID of the newly created column
|
||||
*
|
||||
* \see addInternalColumn(), addImageColumn(), addInternalImageColumn(), \ref JKQTPlotterAdvancedJKQTPDatastore
|
||||
* \see addInternalColumn(), addImageColumn(), addInternalImageColumn(), \ref JKQTPlotterBasicJKQTPDatastore
|
||||
*/
|
||||
size_t addInternalImageColumn(double *data, size_t width, size_t height, const QString& name);
|
||||
|
||||
@ -422,7 +422,7 @@ class JKQTP_LIB_EXPORT JKQTPDatastore{
|
||||
* \param old_column the column to be duplicated
|
||||
* \param name name for the new column
|
||||
* \return ID of the newly created column
|
||||
* \see \ref JKQTPlotterAdvancedJKQTPDatastore
|
||||
* \see \ref JKQTPlotterBasicJKQTPDatastore
|
||||
*/
|
||||
size_t copyColumn(size_t old_column, const QString& name=QString(""));
|
||||
|
||||
@ -448,7 +448,7 @@ class JKQTP_LIB_EXPORT JKQTPDatastore{
|
||||
* linegraph->setYColumn(datastore->addCopiedColumn(Y, "y"));
|
||||
* \endcode
|
||||
*
|
||||
* \see \ref JKQTPlotterAdvancedJKQTPDatastore
|
||||
* \see \ref JKQTPlotterBasicJKQTPDatastore
|
||||
*/
|
||||
template <typename TContainer>
|
||||
size_t addCopiedColumn(const TContainer& data, const QString& name=QString("")) {
|
||||
@ -486,7 +486,7 @@ class JKQTP_LIB_EXPORT JKQTPDatastore{
|
||||
* }
|
||||
* \endcode
|
||||
*
|
||||
* \see \ref JKQTPlotterAdvancedJKQTPDatastore
|
||||
* \see \ref JKQTPlotterBasicJKQTPDatastore
|
||||
*/
|
||||
template <typename TContainer>
|
||||
size_t addCopiedColumn(const TContainer& data, const QString& name, size_t stride, size_t start=0) {
|
||||
@ -512,11 +512,12 @@ class JKQTP_LIB_EXPORT JKQTPDatastore{
|
||||
*
|
||||
* \tparam T datatype of the element in the vector, this has to be convertible to double!
|
||||
* \param data pointer to the data to be copied
|
||||
* \param rows items in data
|
||||
* \param name name for the column
|
||||
* \return the ID of the newly created column
|
||||
*
|
||||
* \note This function converts the input array \a data into an array of double!
|
||||
* \see \ref JKQTPlotterAdvancedJKQTPDatastore
|
||||
* \see \ref JKQTPlotterBasicJKQTPDatastore
|
||||
*/
|
||||
template<typename T>
|
||||
size_t addCopiedColumn(const T* data, size_t rows, const QString& name=QString("")){
|
||||
@ -549,7 +550,7 @@ class JKQTP_LIB_EXPORT JKQTPDatastore{
|
||||
* \endcode
|
||||
|
||||
* \note This function converts the input array \a data into an array of double!
|
||||
* \see \ref JKQTPlotterAdvancedJKQTPDatastore
|
||||
* \see \ref JKQTPlotterBasicJKQTPDatastore
|
||||
*/
|
||||
template<typename T>
|
||||
size_t addCopiedColumn(const T* data, size_t rows, size_t stride, int start, const QString& name) {
|
||||
@ -568,6 +569,7 @@ class JKQTP_LIB_EXPORT JKQTPDatastore{
|
||||
*
|
||||
* \tparam T datatype of the element in the vector, this has to be convertible to double!
|
||||
* \param data pointer to the data to be copied
|
||||
* \param rows items in data
|
||||
* \param name name for the column
|
||||
* \param stride when copying, this function steps throught the data with the given stride, so only eleemnts <code>[0, stride, 2*stride, ... (rows-1)*stride]</code> are copied!
|
||||
* \return the ID of the newly created column
|
||||
@ -581,7 +583,7 @@ class JKQTP_LIB_EXPORT JKQTPDatastore{
|
||||
* \endcode
|
||||
|
||||
* \note This function converts the input array \a data into an array of double!
|
||||
* \see \ref JKQTPlotterAdvancedJKQTPDatastore
|
||||
* \see \ref JKQTPlotterBasicJKQTPDatastore
|
||||
*/
|
||||
template<typename T>
|
||||
size_t addCopiedColumn(const T* data, size_t rows, size_t stride, const QString& name) {
|
||||
@ -644,8 +646,14 @@ class JKQTP_LIB_EXPORT JKQTPDatastore{
|
||||
/** \brief add one external column to the datastore. It contains \a rows rows. The external data is copied to an internal array, so
|
||||
* afterwards you can delete the external arrayThis returns its logical column ID.
|
||||
*
|
||||
* \tparam T datatype of the element in the vector, this has to be convertible to double!
|
||||
* \param data pointer to the data to be copied
|
||||
* \param mask boolean array with \a rows entries, used to mask data when copying from \a data
|
||||
* \param rows items in data
|
||||
* \param name name for the column
|
||||
* \param useIfMaskEquals data from \a data is copied if and only if the corresponding entry of \a mask equals this value
|
||||
* \note This function converts the input array \a data into an array of double!
|
||||
* \see \ref JKQTPlotterAdvancedJKQTPDatastore
|
||||
* \see \ref JKQTPlotterBasicJKQTPDatastore
|
||||
*/
|
||||
template <typename T>
|
||||
size_t addCopiedColumnMasked(const T* data, const bool* mask, size_t rows, const QString& name=QString(""), bool useIfMaskEquals=false) {
|
||||
@ -672,10 +680,9 @@ class JKQTP_LIB_EXPORT JKQTPDatastore{
|
||||
* \param data data vector to be copied
|
||||
* \param mask data vector to be copied
|
||||
* \param name name for the column
|
||||
* \param stride strides through the container \a data with the given stride
|
||||
* \param start starts copying from \a data with the element \a start
|
||||
* \param useIfMaskEquals data from \a data is copied if and only if the corresponding entry of \a mask equals this value
|
||||
* \return the ID of the newly created column
|
||||
* \see \ref JKQTPlotterAdvancedJKQTPDatastore
|
||||
* \see \ref JKQTPlotterBasicJKQTPDatastore
|
||||
*
|
||||
* Pseudocode:
|
||||
* \code
|
||||
@ -712,7 +719,7 @@ class JKQTP_LIB_EXPORT JKQTPDatastore{
|
||||
|
||||
/** \brief copies the contents of the map-like container \a c into two columns of the datastore,
|
||||
* returns the two IDs of the items as a std::pair
|
||||
* \see \ref JKQTPlotterAdvancedJKQTPDatastore, jkqtp_todouble()
|
||||
* \see \ref JKQTPlotterBasicJKQTPDatastore, jkqtp_todouble()
|
||||
*
|
||||
* \tparam TContainer datatype of the map-typed container (e.g. \c std::map or \c QMap ) The requiremen to this container is
|
||||
* that it supports standard iterators with \c begin() and \c end() .
|
||||
@ -755,17 +762,17 @@ class JKQTP_LIB_EXPORT JKQTPDatastore{
|
||||
|
||||
/** \brief add a column to the datastore that contains \a rows rows with monotonely increasing value starting at \a start and ending at \a end.
|
||||
* the values are equidistant between \a start end \a end
|
||||
* \see addLogColumn(), addDecadeLogColumn(), \ref JKQTPlotterAdvancedJKQTPDatastore
|
||||
* \see addLogColumn(), addDecadeLogColumn(), \ref JKQTPlotterBasicJKQTPDatastore
|
||||
*/
|
||||
size_t addLinearColumn(size_t rows, double start, double end, const QString& name=QString(""));
|
||||
/** \brief add a column to the datastore that contains \a rows rows with monotonely increasing value starting at \a start and ending at \a end.
|
||||
* the values are logarithmically spaced between \a start end \a end
|
||||
* \see addLinearColumn(), addDecadeLogColumn(), \ref JKQTPlotterAdvancedJKQTPDatastore
|
||||
* \see addLinearColumn(), addDecadeLogColumn(), \ref JKQTPlotterBasicJKQTPDatastore
|
||||
*/
|
||||
size_t addLogColumn(size_t rows, double start, double end, const QString& name=QString(""));
|
||||
/** \brief add a column to the datastore that contains \a rows rows with monotonely increasing value starting at 10^start and ending at 10^end.
|
||||
* the values are logarithmically spaced between 10^start end 10^end
|
||||
* \see addLinearColumn(), addLogColumn(), \ref JKQTPlotterAdvancedJKQTPDatastore
|
||||
* \see addLinearColumn(), addLogColumn(), \ref JKQTPlotterBasicJKQTPDatastore
|
||||
*/
|
||||
size_t addDecadeLogColumn(size_t rows, double startDecade, double endDecade, const QString& name=QString(""));
|
||||
|
||||
@ -785,7 +792,7 @@ class JKQTP_LIB_EXPORT JKQTPDatastore{
|
||||
* x-coordinates are linearly distributed between \a startX and \a endX and the x-coordinates are linearly
|
||||
* distributed between \a startY and \a endY .
|
||||
*
|
||||
* \see addLogGridColumns(), addDecadeLogGridColumns(), addColumnCalculatedFromColumn(), JKQTPXYParametrizedScatterGraph, \ref JKQTPlotterAdvancedJKQTPDatastore
|
||||
* \see addLogGridColumns(), addDecadeLogGridColumns(), addColumnCalculatedFromColumn(), JKQTPXYParametrizedScatterGraph, \ref JKQTPlotterBasicJKQTPDatastore
|
||||
*/
|
||||
std::pair<size_t,size_t> addLinearGridColumns(size_t width, double startX, double endX, size_t height, double startY, double endY, const QString& nameX=QString(""), const QString& nameY=QString(""));
|
||||
|
||||
@ -800,7 +807,7 @@ class JKQTP_LIB_EXPORT JKQTPDatastore{
|
||||
* return newColumn;
|
||||
* \endcode
|
||||
*
|
||||
* \see addColumnCalculatedFromColumn(), \ref JKQTPlotterAdvancedJKQTPDatastore
|
||||
* \see addColumnCalculatedFromColumn(), \ref JKQTPlotterBasicJKQTPDatastore
|
||||
*/
|
||||
size_t addCalculatedColumn(size_t rows, const std::function<double(size_t, JKQTPDatastore*)>& f, const QString& name=QString(""));
|
||||
/** \brief add a column with \a rows entries, that is calculated by calling \a f for each entry
|
||||
@ -813,7 +820,7 @@ class JKQTP_LIB_EXPORT JKQTPDatastore{
|
||||
* return newColumn;
|
||||
* \endcode
|
||||
*
|
||||
* \see addColumnCalculatedFromColumn(), \ref JKQTPlotterAdvancedJKQTPDatastore
|
||||
* \see addColumnCalculatedFromColumn(), \ref JKQTPlotterBasicJKQTPDatastore
|
||||
*/
|
||||
size_t addCalculatedColumn(size_t rows, const std::function<double(size_t)>& f, const QString& name=QString(""));
|
||||
/** \brief add a column with the same number of entries, as in the other column \a otherColumn , that are calculated by calling \a f for each entry in \a otherColumn
|
||||
@ -826,7 +833,7 @@ class JKQTP_LIB_EXPORT JKQTPDatastore{
|
||||
* return newColumn;
|
||||
* \endcode
|
||||
*
|
||||
* \see addCalculatedColumn(), \ref JKQTPlotterAdvancedJKQTPDatastore
|
||||
* \see addCalculatedColumn(), \ref JKQTPlotterBasicJKQTPDatastore
|
||||
*/
|
||||
size_t addColumnCalculatedFromColumn(size_t otherColumn, const std::function<double(double)>& f, const QString& name=QString(""));
|
||||
/** \brief add a column with the same number of entries, as in the other column \a otherColumn , that are calculated by calling \a f for each pair of entries in \a otherColumnX and \a otherColumnY
|
||||
@ -839,7 +846,7 @@ class JKQTP_LIB_EXPORT JKQTPDatastore{
|
||||
* return newColumn;
|
||||
* \endcode
|
||||
*
|
||||
* \see addCalculatedColumn(), \ref JKQTPlotterAdvancedJKQTPDatastore
|
||||
* \see addCalculatedColumn(), \ref JKQTPlotterBasicJKQTPDatastore
|
||||
*/
|
||||
size_t addColumnCalculatedFromColumn(size_t otherColumnX, size_t otherColumnY, const std::function<double(double,double)>& f, const QString& name=QString(""));
|
||||
|
||||
@ -1157,10 +1164,10 @@ class JKQTP_LIB_EXPORT JKQTPDatastoreItem {
|
||||
/** \brief change the size of all columns to the givne number of rows. Returns \c true if the old data could be retained/saved and \c false if the old data was lost (which happens in most of the cases!) */
|
||||
bool resizeColumns(size_t rows);
|
||||
|
||||
/*! \brief returns the property rows ( \copybrief rows ). \details Description of the parameter rows is: <BLOCKQUOTE>\copydoc JKQTPDatastoreItem::JKQTPDatastoreItemrows </BLOCKQUOTE>. \see JKQTPDatastoreItem::rows for more information */ \
|
||||
/*! \copydoc JKQTPDatastoreItem::rows */
|
||||
inline size_t getRows() const
|
||||
{ return rows; }
|
||||
/*! \brief returns the property columns ( \copybrief columns ). \details Description of the parameter columns is: <BLOCKQUOTE>\copydoc JKQTPDatastoreItem::columns </BLOCKQUOTE>. \see JKQTPDatastoreItem::columns for more information */ \
|
||||
/*! \copydoc JKQTPDatastoreItem::columns */
|
||||
inline size_t getColumns() const
|
||||
{ return columns; }
|
||||
|
||||
|
@ -165,12 +165,12 @@ class JKQTP_LIB_EXPORT JKQTPPlotElement: public QObject {
|
||||
When writing a new graph, you can therefore implement hitTest() in one of these ways:
|
||||
# You simply fill m_hitTestData with appropriate data and rely on the implementation in JKQTPPlotElement to do the work for you:
|
||||
You then need to call clearHitTestData() at the start of your draw() function and whenever you draw a datapoint, you add
|
||||
its location and metadata to the internal storage with addHitTestData().
|
||||
its location and metadata to the internal storage with addHitTestData()
|
||||
# You derive from a graph class that already has an implementation. JKQTPXYGraph is an example of this. That class searches
|
||||
through all x-/y-coordinates in the internally known columns and even takes into account possible graph errors in the label,
|
||||
when the graph is also derived from JKQTPXGraphErrorData or JKQTPYGraphErrorData. This implementation therefore covers
|
||||
most graph types pre-packaged with JKQTPlotter.
|
||||
# You implement the function from scratch.
|
||||
most graph types pre-packaged with JKQTPlotter
|
||||
# You implement the function from scratch
|
||||
.
|
||||
|
||||
\see addHitTestData(), clearHitTestData(), m_hitTestData, HitTestLocation
|
||||
|
@ -94,6 +94,7 @@ class JKQTP_LIB_EXPORT JKQTPGeoBaseFilled: public JKQTPGeoBaseLine, public JKQTP
|
||||
\param style line style of drawing
|
||||
\param fillStyle filling style of the graph
|
||||
\param lineWidth lineWidth of drawing
|
||||
\param parent the parent plotter class
|
||||
*/
|
||||
JKQTPGeoBaseFilled(QColor color, QColor fillColor, double lineWidth, Qt::PenStyle style=Qt::SolidLine, Qt::BrushStyle fillStyle=Qt::SolidPattern, JKQTBasePlotter* parent=nullptr);
|
||||
/*! \brief class contructor
|
||||
@ -103,6 +104,7 @@ class JKQTP_LIB_EXPORT JKQTPGeoBaseFilled: public JKQTPGeoBaseLine, public JKQTP
|
||||
\param style line style of drawing
|
||||
\param fillStyle filling style of the graph
|
||||
\param lineWidth lineWidth of drawing
|
||||
\param parent the parent plotter class
|
||||
*/
|
||||
JKQTPGeoBaseFilled(QColor color, QColor fillColor, double lineWidth, Qt::PenStyle style, Qt::BrushStyle fillStyle, JKQTPlotter* parent);
|
||||
/*! \brief class contructor
|
||||
@ -111,6 +113,7 @@ class JKQTP_LIB_EXPORT JKQTPGeoBaseFilled: public JKQTPGeoBaseLine, public JKQTP
|
||||
\param fillColor color of the filling in the drawing
|
||||
\param style line style of drawing
|
||||
\param lineWidth lineWidth of drawing
|
||||
\param parent the parent plotter class
|
||||
*/
|
||||
JKQTPGeoBaseFilled(QColor color, QColor fillColor, double lineWidth, Qt::PenStyle style, JKQTPlotter* parent);
|
||||
/*! \brief class contructor
|
||||
@ -118,12 +121,14 @@ class JKQTP_LIB_EXPORT JKQTPGeoBaseFilled: public JKQTPGeoBaseLine, public JKQTP
|
||||
\param color color of drawing
|
||||
\param fillColor color of the filling in the drawing
|
||||
\param lineWidth lineWidth of drawing
|
||||
\param parent the parent plotter class
|
||||
*/
|
||||
JKQTPGeoBaseFilled(QColor color, QColor fillColor, double lineWidth, JKQTPlotter* parent);
|
||||
/*! \brief class contructor
|
||||
|
||||
\param color color of drawing
|
||||
\param fillColor color of the filling in the drawing
|
||||
\param parent the parent plotter class
|
||||
*/
|
||||
JKQTPGeoBaseFilled(QColor color, QColor fillColor, JKQTPlotter* parent);
|
||||
|
||||
@ -322,6 +327,7 @@ class JKQTP_LIB_EXPORT JKQTPGeoLine: public JKQTPGeoBaseLine {
|
||||
\param color color of line
|
||||
\param lineWidth width of line
|
||||
\param style line style
|
||||
\param parent the parent plotter class
|
||||
*/
|
||||
JKQTPGeoLine(JKQTBasePlotter* parent, double x1, double y1, double x2, double y2, QColor color, double lineWidth=1, Qt::PenStyle style=Qt::SolidLine);
|
||||
/*! \brief class constructor
|
||||
@ -334,6 +340,7 @@ class JKQTP_LIB_EXPORT JKQTPGeoLine: public JKQTPGeoBaseLine {
|
||||
\param color color of line
|
||||
\param lineWidth width of line
|
||||
\param style line style
|
||||
\param parent the parent plotter class
|
||||
*/
|
||||
JKQTPGeoLine(JKQTPlotter* parent, double x1, double y1, double x2, double y2, QColor color, double lineWidth=1, Qt::PenStyle style=Qt::SolidLine);
|
||||
/*! \brief class constructor
|
||||
@ -525,7 +532,6 @@ class JKQTP_LIB_EXPORT JKQTPGeoPolyLines: public JKQTPGeoBaseLine {
|
||||
/*! \brief class constructor
|
||||
|
||||
\param parent the parent plotter class
|
||||
\param points points on the polygon
|
||||
\param color color of line
|
||||
\param lineWidth width of line
|
||||
\param style line style
|
||||
@ -534,7 +540,6 @@ class JKQTP_LIB_EXPORT JKQTPGeoPolyLines: public JKQTPGeoBaseLine {
|
||||
/*! \brief class constructor
|
||||
|
||||
\param parent the parent plotter class
|
||||
\param points points on the polygon
|
||||
\param color color of line
|
||||
\param lineWidth width of line
|
||||
\param style line style
|
||||
@ -926,6 +931,8 @@ class JKQTP_LIB_EXPORT JKQTPGeoArc: public JKQTPGeoBaseLine {
|
||||
\param y y-coordinate of center of ellipse
|
||||
\param width width of ellipse (2 * half axis)
|
||||
\param height of ellipse (2 * half axis)
|
||||
\param angleStart if we only draw an arc, this is the starting angle in degrees
|
||||
\param angleStop if we only draw an arc, this is the ending angle in degrees
|
||||
\param color color of line
|
||||
\param lineWidth width of line
|
||||
\param style line style
|
||||
@ -939,6 +946,8 @@ class JKQTP_LIB_EXPORT JKQTPGeoArc: public JKQTPGeoBaseLine {
|
||||
\param y y-coordinate of center of ellipse
|
||||
\param width width of ellipse (2 * half axis)
|
||||
\param height of ellipse (2 * half axis)
|
||||
\param angleStart if we only draw an arc, this is the starting angle in degrees
|
||||
\param angleStop if we only draw an arc, this is the ending angle in degrees
|
||||
\param color color of line
|
||||
\param lineWidth width of line
|
||||
\param style line style
|
||||
@ -1047,6 +1056,8 @@ class JKQTP_LIB_EXPORT JKQTPGeoPie: public JKQTPGeoEllipse {
|
||||
\param y y-coordinate of center of ellipse
|
||||
\param width width of ellipse (2 * half axis)
|
||||
\param height of ellipse (2 * half axis)
|
||||
\param angleStart if we only draw an arc, this is the starting angle in degrees
|
||||
\param angleStop if we only draw an arc, this is the ending angle in degrees
|
||||
\param color color of line
|
||||
\param lineWidth width of line
|
||||
\param style line style
|
||||
@ -1061,6 +1072,8 @@ class JKQTP_LIB_EXPORT JKQTPGeoPie: public JKQTPGeoEllipse {
|
||||
\param y y-coordinate of center of ellipse
|
||||
\param width width of ellipse (2 * half axis)
|
||||
\param height of ellipse (2 * half axis)
|
||||
\param angleStart if we only draw an arc, this is the starting angle in degrees
|
||||
\param angleStop if we only draw an arc, this is the ending angle in degrees
|
||||
\param color color of line
|
||||
\param lineWidth width of line
|
||||
\param style line style
|
||||
@ -1116,6 +1129,8 @@ class JKQTP_LIB_EXPORT JKQTPGeoChord: public JKQTPGeoPie {
|
||||
\param y y-coordinate of center of ellipse
|
||||
\param width width of ellipse (2 * half axis)
|
||||
\param height of ellipse (2 * half axis)
|
||||
\param angleStart if we only draw an arc, this is the starting angle in degrees
|
||||
\param angleStop if we only draw an arc, this is the ending angle in degrees
|
||||
\param color color of line
|
||||
\param lineWidth width of line
|
||||
\param style line style
|
||||
@ -1130,6 +1145,8 @@ class JKQTP_LIB_EXPORT JKQTPGeoChord: public JKQTPGeoPie {
|
||||
\param y y-coordinate of center of ellipse
|
||||
\param width width of ellipse (2 * half axis)
|
||||
\param height of ellipse (2 * half axis)
|
||||
\param angleStart if we only draw an arc, this is the starting angle in degrees
|
||||
\param angleStop if we only draw an arc, this is the ending angle in degrees
|
||||
\param color color of line
|
||||
\param lineWidth width of line
|
||||
\param style line style
|
||||
|
@ -175,11 +175,11 @@ class JKQTP_LIB_EXPORT JKQTPOverlayImageEnhanced: public JKQTPOverlayImage {
|
||||
/*! \copydoc symbolLineWidth
|
||||
\see see symbolLineWidth for details */
|
||||
double getSymbolLineWidth() const;
|
||||
/*! \copydoc drawAsRectangles
|
||||
\see see drawAsRectangles for details */
|
||||
/*! \copydoc drawMode
|
||||
\see see drawMode for details */
|
||||
void setDrawMode(OverlayImageEnhancedDrawMode __value);
|
||||
/*! \copydoc drawAsRectangles
|
||||
\see see drawAsRectangles for details */
|
||||
/*! \copydoc drawMode
|
||||
\see see drawMode for details */
|
||||
OverlayImageEnhancedDrawMode getDrawMode() const;
|
||||
/*! \copydoc symbolSizeFactor
|
||||
\see see symbolSizeFactor for details */
|
||||
|
@ -190,17 +190,17 @@ class JKQTP_LIB_EXPORT JKQTPRGBMathImage: public JKQTPMathImageBase {
|
||||
/*! \copydoc autoImageRange
|
||||
\see see autoImageRange for details */
|
||||
bool getAutoImageRange() const;
|
||||
/*! \copydoc imageName
|
||||
\see see imageName for details */
|
||||
/*! \copydoc imageNameR
|
||||
\see see imageNameR for details */
|
||||
void setImageName(const QString & __value);
|
||||
/*! \copydoc imageName
|
||||
\see see imageName for details */
|
||||
/*! \copydoc imageNameR
|
||||
\see see imageNameR for details */
|
||||
QString getImageName() const;
|
||||
/*! \copydoc imageName
|
||||
\see see imageName for details */
|
||||
/*! \copydoc imageNameR
|
||||
\see see imageNameR for details */
|
||||
QString getImageNameR() const;
|
||||
/*! \copydoc imageName
|
||||
\see see imageName for details */
|
||||
/*! \copydoc imageNameR
|
||||
\see see imageNameR for details */
|
||||
void setImageNameR(const QString& m);
|
||||
/*! \copydoc imageNameG
|
||||
\see see imageNameG for details */
|
||||
|
@ -623,7 +623,7 @@ extern JKQTP_LIB_EXPORT QList<int*> global_jkqtpimagetools_lutstore;
|
||||
\param dbl_in pointer to a 1D array of template type \c T representing the image to plot. This array has to be of size \a width * \a height
|
||||
\param width width of the array in \a dbl
|
||||
\param height height of the array in \a dbl
|
||||
\param[out] im the QImage object to draw to (should be initialized as \c QImage::Format_ARGB32 )
|
||||
\param[out] img the QImage object to draw to (should be initialized as \c QImage::Format_ARGB32 )
|
||||
\param palette the color palette to use for the display
|
||||
\param minColor lower boundary of color range in \a dbl pixels, if \a minColor == \a maxColor then this function will extract the image min and image max.
|
||||
\param maxColor upper boundary of color range in \a dbl pixels, if \a minColor == \a maxColor then this function will extract the image min and image max.
|
||||
@ -633,6 +633,10 @@ extern JKQTP_LIB_EXPORT QList<int*> global_jkqtpimagetools_lutstore;
|
||||
\param maxFailColor color to use for pixels that are below \a maxColor for some settings of \a paletteMaxFail
|
||||
\param nanColor color to use for pixels that are not-a-number
|
||||
\param infColor color to use for pixels that are infinity
|
||||
\param logScale create a log-scaled image
|
||||
\param logBase base for the logarithm used when \c logScale==true
|
||||
\param lutUser user define LUT
|
||||
\param lutUserSize size of the LUT in lutUser
|
||||
*/
|
||||
template <class T>
|
||||
inline void JKQTPImagePlot_array2image(const T* dbl_in, int width, int height, QImage &img, JKQTPMathImageColorPalette palette, double minColor, double maxColor, JKQTPMathImageColorRangeFailAction paletteMinFail=JKQTPMathImageLastPaletteColor, JKQTPMathImageColorRangeFailAction paletteMaxFail=JKQTPMathImageLastPaletteColor, QColor minFailColor=QColor("black"), QColor maxFailColor=QColor("black"), QColor nanColor=QColor("black"), QColor infColor=QColor("black"), bool logScale=false, double logBase=10.0, const int* lutUser=0, int lutUserSize=0)
|
||||
@ -760,6 +764,8 @@ inline void JKQTPImagePlot_array2image(const T* dbl_in, int width, int height, Q
|
||||
\param maxFailColor color to use for pixels that are below \a maxColor for some settings of \a paletteMaxFail
|
||||
\param nanColor color to use for pixels that are not-a-number
|
||||
\param infColor color to use for pixels that are infinity
|
||||
\param logScale create a log-scaled image
|
||||
\param logBase base for the logarithm used when \c logScale==true
|
||||
*/
|
||||
template <class T>
|
||||
inline void JKQTPImagePlot_array2image(const T* dbl_in, int width, int height, QImage &img, const int* lutUser, int lutUserSize, double minColor, double maxColor, JKQTPMathImageColorRangeFailAction paletteMinFail=JKQTPMathImageLastPaletteColor, JKQTPMathImageColorRangeFailAction paletteMaxFail=JKQTPMathImageLastPaletteColor, QColor minFailColor=QColor("black"), QColor maxFailColor=QColor("black"), QColor nanColor=QColor("black"), QColor infColor=QColor("black"), bool logScale=false, double logBase=10.0)
|
||||
|
@ -887,7 +887,7 @@ class JKQTPMathParser
|
||||
|
||||
/** \brief register a new internal variable of type boolean
|
||||
* \param name name of the new variable
|
||||
* \param v initial value of this variable
|
||||
* \param result initial value of this variable
|
||||
*/
|
||||
void addVariable(const std::string& name, jkmpResult result);
|
||||
|
||||
|
@ -418,7 +418,7 @@ JKQTP_LIB_EXPORT JKQTPCADrawMode String2JKQTPCADrawMode(const QString& pos);
|
||||
* \ingroup jkqtptools */
|
||||
enum JKQTPCALabelType {
|
||||
JKQTPCALTdefault, /*!< \brief simply print the numbers \image html JKQTPCALTdefault.png */
|
||||
JKQTPCALTexponentCharacter, /*!< \brief print the numbers and show a unit character, i.e. \c 5µ for \f$ 5\cdot 10^{-6} \f$ , \cd 3k for \f$ 3\cdot 10^3 \f$ ... */
|
||||
JKQTPCALTexponentCharacter, /*!< \brief print the numbers and show a unit character, i.e. \c 5µ for \f$ 5\cdot 10^{-6} \f$ , \c 3k for \f$ 3\cdot 10^3 \f$ ... */
|
||||
JKQTPCALTexponent, /*!< \brief show numbers in exponential for, e.g. \f$ 3\cdot 10^5 \f$ ... \image html JKQTPCALTexponent.png */
|
||||
JKQTPCALTdate, /*!< \brief show numbers as dates \image html JKQTPCALTdate.png */
|
||||
JKQTPCALTtime, /*!< \brief show numbers as times \image html JKQTPCALTtime.png*/
|
||||
@ -610,8 +610,8 @@ enum JKQTPGraphSymbols {
|
||||
JKQTPAsterisc, /*!< \brief an asterisc star with 5 arms \image html symbols/symbol_asterisc.png */
|
||||
JKQTPHourglass, /*!< \brief an hour glass symbol \image html symbols/symbol_hourglass.png */
|
||||
JKQTPFilledHourglass, /*!< \brief a filled hour glass symbol \image html symbols/symbol_filled_hourglass.png */
|
||||
JKQTPCurvedTriangle, /*!< \brief a curved triangle\image html symbols/symbol_tripod.png */
|
||||
JKQTPFilledCurvedTriangle, /*!< \brief a filled curved triangle\image html symbols/symbol_filled_tripod.png */
|
||||
JKQTPCurvedTriangle, /*!< \brief a curved triangle\image html symbols/symbol_curved_triangle.png */
|
||||
JKQTPFilledCurvedTriangle, /*!< \brief a filled curved triangle\image html symbols/symbol_filled_curved_triangle.png */
|
||||
JKQTPHexagon, /*!< \brief an unfilled hexagon \image html symbols/symbol_hexagon.png */
|
||||
JKQTPFilledHexagon, /*!< \brief a filled hexagon \image html symbols/symbol_filled_hexagon.png */
|
||||
|
||||
@ -644,12 +644,12 @@ enum JKQTPGraphSymbols {
|
||||
JKQTPFilledLeftTriangle, /*!< \brief a filled triangle (tip to the left) \image html symbols/symbol_filled_left_triangle.png */
|
||||
JKQTPRightTriangle, /*!< \brief an unfilled triangle (tip to the right) \image html symbols/symbol_right_triangle.png */
|
||||
JKQTPFilledRightTriangle, /*!< \brief a filled triangle (tip to the right) \image html symbols/symbol_filled_right_triangle.png */
|
||||
JKQTPDownCurvedTriangle, /*!< \brief a curved triangle, pointing down \image html symbols/symbol_down_tripod.png */
|
||||
JKQTPFilledDownCurvedTriangle, /*!< \brief a filled curved triangle, pointing down \image html symbols/symbol_filled_down_tripod.png */
|
||||
JKQTPLeftCurvedTriangle, /*!< \brief a curved triangle, pointing to the left \image html symbols/symbol_left_tripod.png */
|
||||
JKQTPFilledLeftCurvedTriangle, /*!< \brief a filled curved triangle, pointing to the left \image html symbols/symbol_filled_left_tripod.png */
|
||||
JKQTPRightCurvedTriangle, /*!< \brief a curved triangle, pointing to the right \image html symbols/symbol_right_tripod.png */
|
||||
JKQTPFilledRightCurvedTriangle, /*!< \brief a filled curved triangle, pointing to the right \image html symbols/symbol_filled_right_tripod.png */
|
||||
JKQTPDownCurvedTriangle, /*!< \brief a curved triangle, pointing down \image html symbols/symbol_down_curved_triangle.png */
|
||||
JKQTPFilledDownCurvedTriangle, /*!< \brief a filled curved triangle, pointing down \image html symbols/symbol_filled_down_curved_triangle.png */
|
||||
JKQTPLeftCurvedTriangle, /*!< \brief a curved triangle, pointing to the left \image html symbols/symbol_left_curved_triangle.png */
|
||||
JKQTPFilledLeftCurvedTriangle, /*!< \brief a filled curved triangle, pointing to the left \image html symbols/symbol_filled_left_curved_triangle.png */
|
||||
JKQTPRightCurvedTriangle, /*!< \brief a curved triangle, pointing to the right \image html symbols/symbol_right_curved_triangle.png */
|
||||
JKQTPFilledRightCurvedTriangle, /*!< \brief a filled curved triangle, pointing to the right \image html symbols/symbol_filled_right_curved_triangle.png */
|
||||
JKQTPOctagon, /*!< \brief an unfilled octagon \image html symbols/symbol_octagon.png */
|
||||
JKQTPFilledOctagon, /*!< \brief a filled octagon \image html symbols/symbol_filled_octagon.png */
|
||||
JKQTPUpDownTriangle, /*!< \brief a overlay of an up and a down triangle symbol \image html symbols/symbol_updowntriangle.png */
|
||||
@ -916,7 +916,7 @@ JKQTP_LIB_EXPORT std::string jkqtp_to_valid_variable_name(const std::string& inp
|
||||
* \ingroup jkqtptools_string
|
||||
*/
|
||||
JKQTP_LIB_EXPORT std::string jkqtp_floattounitstr(double data, int past_comma=5, bool remove_trail0=false);
|
||||
/** \brief convert a double to a string, encoding powers of ten as exponent in LaTeX notation (e.g. <code>-1.23\cdot 10^{-5}</code>)
|
||||
/** \brief convert a double to a string, encoding powers of ten as exponent in LaTeX notation (e.g. <code>-1.23\\cdot 10^{-5}</code>)
|
||||
* \ingroup jkqtptools_string
|
||||
*/
|
||||
JKQTP_LIB_EXPORT std::string jkqtp_floattolatexstr(double data, int past_comma=5, bool remove_trail0=false, double belowIsZero=1e-16, double minNoExponent=1e-3, double maxNoExponent=1e4);
|
||||
|
Loading…
Reference in New Issue
Block a user