![]() |
JKQTPlotter trunk/v5.0.0
an extensive Qt5+Qt6 Plotter framework (including a feature-richt plotter widget, a speed-optimized, but limited variant and a LaTeX equation renderer!), written fully in C/C++ and without external dependencies
|
class to plot an image from an 2-dimensional array of boolean values: alle true values are plotted in a given color, while the false pixels are drawn in another (default: transparent)
More...
#include <jkqtpimageoverlays.h>
Public Member Functions | |
| JKQTPColumnOverlayImageEnhanced (JKQTBasePlotter *parent=nullptr) | |
| JKQTPColumnOverlayImageEnhanced (JKQTPlotter *parent) | |
| virtual void | draw (JKQTPEnhancedPainter &painter) override |
| plots the graph to the plotter object specified as parent | |
| int | getImageColumn () const |
| column to read overlay image from | |
| virtual void | setImageColumn (int __value) |
| column to read overlay image from | |
| virtual bool | usesColumn (int c) const override |
returns true if the given column is used by the graph | |
| Public Member Functions inherited from JKQTPOverlayImageEnhanced | |
| JKQTPOverlayImageEnhanced (double x, double y, double width, double height, bool *data, int Nx, int Ny, QColor colTrue, JKQTBasePlotter *parent=nullptr) | |
| class constructor | |
| JKQTPOverlayImageEnhanced (double x, double y, double width, double height, bool *data, int Nx, int Ny, QColor colTrue, JKQTPlotter *parent) | |
| class constructor | |
| JKQTPOverlayImageEnhanced (JKQTBasePlotter *parent=nullptr) | |
| JKQTPOverlayImageEnhanced (JKQTPlotter *parent) | |
| virtual void | drawKeyMarker (JKQTPEnhancedPainter &painter, const QRectF &rect) override |
| plots a key marker inside the specified rectangle rect | |
| OverlayImageEnhancedDrawMode | getDrawMode () const |
| indicates whether to draw filled rectangles, or symbols | |
| JKQTPGraphSymbols | getSymbol () const |
| which symbol to use for the datapoints | |
| QString | getSymbolFontName () const |
get the font to be used for character symbols JKQTPCharacterSymbol+QChar('').unicode() | |
| double | getSymbolLineWidth () const |
| width (in pt) of the lines used to plot the symbol for the data points | |
| double | getSymbolSizeFactor () const |
| a rescaling factor for the symbols | |
| void | setDrawMode (OverlayImageEnhancedDrawMode __value) |
| indicates whether to draw filled rectangles, or symbols | |
| void | setSymbolFontName (const QString &__value) |
set the font to be used for character symbols JKQTPCharacterSymbol+QChar('').unicode() | |
| void | setSymbolLineWidth (double __value) |
| width (in pt) of the lines used to plot the symbol for the data points | |
| void | setSymbolSizeFactor (double __value) |
| a rescaling factor for the symbols | |
| void | setSymbolType (JKQTPGraphSymbols __value) |
| which symbol to use for the datapoints | |
| Public Member Functions inherited from JKQTPOverlayImage | |
| JKQTPOverlayImage (double x, double y, double width, double height, const bool *data, int Nx, int Ny, QColor colTrue, JKQTBasePlotter *parent=nullptr) | |
| class constructor | |
| JKQTPOverlayImage (double x, double y, double width, double height, const bool *data, int Nx, int Ny, QColor colTrue, JKQTPlotter *parent) | |
| class constructor | |
| JKQTPOverlayImage (JKQTBasePlotter *parent=nullptr) | |
| JKQTPOverlayImage (JKQTPlotter *parent) | |
| virtual QImage | drawImage () |
| return the plotted image only as a QImage | |
| const bool * | getData () const |
| points to the data array, holding the image | |
| QVector< double > | getDataAsDoubleVector () const |
| return the data used for plotting as a QVector<double> in row-major data-ordering | |
| QColor | getFalseColor () const |
color for false pixels | |
| virtual QColor | getKeyLabelColor () const override |
| returns the color to be used for the key label | |
| int | getNx () const |
| width of the data array data in pt | |
| int | getNy () const |
| height of the data array data in pt | |
| QColor | getTrueColor () const |
color for true pixels | |
| virtual void | setData (const bool *__value) |
| points to the data array, holding the image | |
| virtual void | setData (const bool *data, int Nx, int Ny) |
| set the plot-data to a given array data with size Nx * Ny in row-major ordering | |
| void | setFalseColor (const QColor &__value) |
color for false pixels | |
| void | setNx (int __value) |
| width of the data array data in pt | |
| void | setNx (size_t __value) |
| width of the data array data in pt | |
| void | setNy (int __value) |
| height of the data array data in pt | |
| void | setNy (size_t __value) |
| height of the data array data in pt | |
| virtual void | setParent (JKQTBasePlotter *parent) override |
| sets the parent painter class | |
| virtual void | setTitle (const QString &title) override |
| sets the title of the plot (for display in key!). | |
| void | setTrueColor (const QColor &__value) |
color for true pixels | |
| Public Member Functions inherited from JKQTPImageBase | |
| JKQTPImageBase (double x, double y, double width, double height, JKQTBasePlotter *parent=nullptr) | |
| class constructor | |
| JKQTPImageBase (double x, double y, double width, double height, JKQTPlotter *parent) | |
| class constructor | |
| JKQTPImageBase (JKQTBasePlotter *parent=nullptr) | |
| class constructor | |
| JKQTPImageBase (JKQTPlotter *parent) | |
| class constructor | |
| double | getHeight () const |
| height of image | |
| double | getWidth () const |
| width of image | |
| double | getX () const |
| x coordinate of lower left corner | |
| virtual bool | getXMinMax (double &minx, double &maxx, double &smallestGreaterZero) override |
| get the maximum and minimum x-value of the graph | |
| double | getY () const |
| y coordinate of lower left corner | |
| virtual bool | getYMinMax (double &miny, double &maxy, double &smallestGreaterZero) override |
| get the maximum and minimum y-value of the graph | |
| Public Member Functions inherited from JKQTPGraph | |
| JKQTPGraph (JKQTBasePlotter *parent=nullptr) | |
| class constructor | |
| virtual | ~JKQTPGraph ()=default |
| default wirtual destructor | |
| Public Member Functions inherited from JKQTPPlotElement | |
| JKQTPPlotElement (JKQTBasePlotter *parent=nullptr) | |
| class constructor | |
| virtual | ~JKQTPPlotElement ()=default |
| default wirtual destructor | |
| QPointF | backTransform (const QPointF &x) const |
| tool routine that back-transforms a QPointF according to the parent's transformation rules (pixels --> plot coordinate) | |
| QPointF | backTransform (double x, double y) const |
| tool routine that back-transforms a QPointF according to the parent's transformation rules (pixels --> plot coordinate) | |
| double | backtransformX (double x) const |
| tool routine that backtransforms an x-coordinate (pixels --> plot coordinate) for this plot element, uses the axis referenced in xAxisRef | |
| double | backtransformY (double y) const |
| tool routine that backtransforms a y-coordinate (pixels --> plot coordinate) for this plot element, uses the axis referenced in yAxisRef | |
| virtual void | drawOutside (JKQTPEnhancedPainter &painter, QRect leftSpace, QRect rightSpace, QRect topSpace, QRect bottomSpace) |
| plots outside the actual plot field of view (e.g. color bars, scale bars, ...) | |
| QImage | generateKeyMarker (QSize size=QSize(16, 16)) |
| returns an image with a key marker inside | |
| virtual void | getOutsideSize (JKQTPEnhancedPainter &painter, int &leftSpace, int &rightSpace, int &topSpace, int &bottomSpace) |
| if the graph plots outside the actual plot field of view (e.g. color bars, scale bars, ...) | |
| JKQTBasePlotter * | getParent () |
| returns the parent painter class | |
| const JKQTBasePlotter * | getParent () const |
| returns the parent painter class | |
| QString | getTitle () const |
| returns the the title of the plot | |
| const JKQTPCoordinateAxis * | getXAxis () const |
| returns the actual x-Axis-object from the parent plotter, referenced in xAxisRef | |
| JKQTPCoordinateAxisRef | getXAxisRef () const |
| indicates which coordinate axis to use for coordinate transforms in x-direction | |
| const JKQTPCoordinateAxis * | getYAxis () const |
| returns the actual y-Axis-object from the parent plotter, referenced in yAxisRef | |
| JKQTPCoordinateAxisRef | getYAxisRef () const |
| indicates which coordinate axis to use for coordinate transforms in y-direction | |
| virtual double | hitTest (const QPointF &posSystem, QPointF *closestSpotSystem=nullptr, QString *label=nullptr, HitTestMode mode=HitTestXY) const |
returns the closest distance of the plot element to the (screen pixel) position pos, or NAN | |
| bool | isHighlighted () const |
| returns whether the graph is shown in a highlighted style in the plot | |
| bool | isVisible () const |
| returns whether the graph is visible in the plot | |
| void | setAxes (JKQTPCoordinateAxisRef ref) |
| set the coordinate axes to use for this plot element | |
| virtual void | setParent (JKQTPlotter *parent) |
| sets the parent painter class | |
| void | setXAxis (JKQTPCoordinateAxisRef ref) |
| indicates which coordinate axis to use for coordinate transforms in x-direction | |
| void | setYAxis (JKQTPCoordinateAxisRef ref) |
| indicates which coordinate axis to use for coordinate transforms in y-direction | |
| QPointF | transform (const QPointF &x) const |
| tool routine that transforms a QPointF according to the parent's transformation rules (plot coordinate --> pixels) | |
| QPolygonF | transform (const QPolygonF &x) const |
| tool routine that transforms a QPolygonF according to the parent's transformation rules (plot coordinate --> pixels) | |
| QPointF | transform (double x, double y) const |
| tool routine that transforms a QPointF according to the parent's transformation rules (plot coordinate --> pixels) | |
| QPainterPath | transformToLinePath (const QPolygonF &x) const |
| tool routine that transforms a QPolygonF according to the parent's transformation rules and returns a (non-closed) path consisting of lines (plot coordinate --> pixels) | |
| QVector< double > | transformX (const QVector< double > &x) const |
| transform all x-coordinates in a vector x | |
| double | transformX (double x) const |
| tool routine that transforms an x-coordinate (plot coordinate --> pixels) for this plot element, uses the axis referenced in xAxisRef | |
| QVector< double > | transformY (const QVector< double > &x) const |
| transform all y-coordinates in a vector x | |
| double | transformY (double y) const |
| tool routine that transforms a y-coordinate (plot coordinate --> pixels) for this plot element, uses the axis referenced in yAxisRef | |
Protected Attributes | |
| int | imageColumn |
| column to read overlay image from | |
| Protected Attributes inherited from JKQTPOverlayImageEnhanced | |
| OverlayImageEnhancedDrawMode | drawMode |
| indicates whether to draw filled rectangles, or symbols | |
| QString | m_symbolFontName |
font to be used for character symbols JKQTPCharacterSymbol+QChar('').unicode() | |
| JKQTPGraphSymbols | symbol |
| which symbol to use for the datapoints | |
| double | symbolLineWidth |
| width (in pt) of the lines used to plot the symbol for the data points | |
| double | symbolSizeFactor |
| a rescaling factor for the symbols | |
| Protected Attributes inherited from JKQTPOverlayImage | |
| QAction * | actCopyImage |
| action that calls copyImagePlotAsImage() | |
| QAction * | actSaveImage |
| action that calls saveImagePlotAsImage() | |
| const bool * | data |
| points to the data array, holding the image | |
| QColor | falseColor |
color for false pixels | |
| int | Nx |
| width of the data array data in pt | |
| int | Ny |
| height of the data array data in pt | |
| QColor | trueColor |
color for true pixels | |
| Protected Attributes inherited from JKQTPImageBase | |
| double | height |
| height of image | |
| double | width |
| width of image | |
| double | x |
| x coordinate of lower left corner | |
| double | y |
| y coordinate of lower left corner | |
| Protected Attributes inherited from JKQTPPlotElement | |
| QVector< HitTestLocation > | m_hitTestData |
| dataset with graph-points and associated data from the function hitTest() | |
| JKQTBasePlotter * | parent |
| the plotter object this object belongs to | |
| int | parentPlotStyle |
| internal storage for the used parent plot style | |
Additional Inherited Members | |
| Public Types inherited from JKQTPOverlayImageEnhanced | |
| enum | OverlayImageEnhancedDrawMode { DrawAsRectangles , DrawAsImage , DrawAsSymbols } |
| Public Types inherited from JKQTPPlotElement | |
| enum | HitTestMode { HitTestXY , HitTestXOnly , HitTestYOnly } |
| modes of operation for the function hitTest() More... | |
| Public Slots inherited from JKQTPOverlayImage | |
| void | copyImagePlotAsImage () |
| copy the plotted image as an image into the clipboard | |
| void | saveImagePlotAsImage (const QString &filename=QString(""), const QByteArray &outputFormat=QByteArray()) |
| save the plotted image as a file with filename and format outputFormat | |
| Public Slots inherited from JKQTPImageBase | |
| void | setHeight (double __value) |
| height of image | |
| void | setWidth (double __value) |
| width of image | |
| void | setX (double __value) |
| x coordinate of lower left corner | |
| void | setY (double __value) |
| y coordinate of lower left corner | |
| Public Slots inherited from JKQTPPlotElement | |
| void | setHighlighted (bool __value) |
| sets whether the graph is drawn in a highlighted style in the plot | |
| void | setVisible (bool __value) |
| sets whether the graph is visible in the plot | |
| Protected Member Functions inherited from JKQTPImageBase | |
| void | plotImage (JKQTPEnhancedPainter &painter, QImage &image, double x, double y, double width, double height) |
plot the given QImage onto the widget where the QImage fills the area defined by x, y (lower left corner) and width, height in the simplest case your implementation of draw() will call plotImage(painter, image, this->x, this->y, this->width, this->height); | |
| Protected Member Functions inherited from JKQTPGraph | |
| virtual void | drawErrorsAfter (JKQTPEnhancedPainter &) |
| this function is used to plot error inidcators after plotting the graphs. | |
| virtual void | drawErrorsBefore (JKQTPEnhancedPainter &) |
| this function is used to plot error inidcators before plotting the graphs. | |
| bool | getDataMinMax (int column, double &minx, double &maxx, double &smallestGreaterZero) |
| get the maximum and minimum value of the given column | |
| Protected Member Functions inherited from JKQTPPlotElement | |
| void | addHitTestData (const HitTestLocation &loc) |
| clear the internal datastore for hitTest() | |
| void | addHitTestData (const QPointF &pos_, const QString &label_) |
| clear the internal datastore for hitTest() | |
| void | addHitTestData (const QPointF &pos_, int index_, const QString &label_) |
| clear the internal datastore for hitTest() | |
| void | addHitTestData (const QPointF &pos_, int index_=-1, const JKQTPDatastore *datastore=nullptr) |
| clear the internal datastore for hitTest(), this variant uses formatHitTestDefaultLabel() to auto-generate the label | |
| void | addHitTestData (double x_, double y_, const QString &label_) |
| add a new point on the graph to the internal datastore for hitTest() | |
| void | addHitTestData (double x_, double y_, int index_, const QString &label_) |
| clear the internal datastore for hitTest() | |
| void | addHitTestData (double x_, double y_, int index_=-1, const JKQTPDatastore *datastore=nullptr) |
| add a new point on the graph to the internal datastore for hitTest(), this variant uses formatHitTestDefaultLabel() to auto-generate the label | |
| void | clearHitTestData () |
| clear the internal datastore for hitTest() | |
| virtual QString | formatHitTestDefaultLabel (double x, double y, int index=-1, const JKQTPDatastore *datastore=nullptr) const |
| tool-function for hitTest(), which formats a default label, taking into account the x- and y-position (both provided) and optionally the errors of these positions. | |
| void | reserveHitTestData (int points) |
| reserve list entries for up to points graph points in the internal datastore for hitTest() | |
| QString | xFloatToString (double v, int past_comma=-1) const |
| converts a x-value v into a string, taking into account the type of x-axis | |
| QString | yFloatToString (double v, int past_comma=-1) const |
| converts a x-value v into a string, taking into account the type of x-axis | |
| Properties inherited from JKQTPPlotElement | |
| bool | highlighted |
| indicates whether the graph is shown in a "highlghted" in the plot | |
| QString | title |
| title of the plot (for display in key!). If no title is supplied, no key entry is drawn. | |
| bool | visible |
| indicates whether the graph is visible in the plot | |
| JKQTPCoordinateAxisRef | xAxisRef |
| indicates which coordinate axis to use for coordinate transforms in x-direction | |
| JKQTPCoordinateAxisRef | yAxisRef |
| indicates which coordinate axis to use for coordinate transforms in y-direction | |
class to plot an image from an 2-dimensional array of boolean values: alle true values are plotted in a given color, while the false pixels are drawn in another (default: transparent)
In contrast to JKQTPOverlayImage this class draws ist contents as rectangles, not as semi-transparent image. This may lead to nicer results,but could be slower. Also it is possible to draw other types of markers (cross, circles, ...)
| JKQTPColumnOverlayImageEnhanced::JKQTPColumnOverlayImageEnhanced | ( | JKQTBasePlotter * | parent = nullptr | ) |
| JKQTPColumnOverlayImageEnhanced::JKQTPColumnOverlayImageEnhanced | ( | JKQTPlotter * | parent | ) |
|
overridevirtual |
plots the graph to the plotter object specified as parent
Reimplemented from JKQTPOverlayImageEnhanced.
| int JKQTPColumnOverlayImageEnhanced::getImageColumn | ( | ) | const |
column to read overlay image from
|
virtual |
column to read overlay image from
|
overridevirtual |
returns true if the given column is used by the graph
This virtual function indicates whether a given column is used by this graph. Override this function in your derived graphs to indicate to JKQTPlotter / JKQTBasePlotter , which columns from the internal JKQTPDatastore are actually used. This information can be used e.g. for graph-specific data-export.
Reimplemented from JKQTPGraph.
|
protected |
column to read overlay image from