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
|
This implements a horizontal bar graph with bars between and and error indicator. More...
#include <jkqtpbarchart.h>
Public Slots | |
void | setBarErrorColumn (int column) |
sets the column that contains the bar height errors | |
void | setBarErrorColumn (size_t column) |
sets the column that contains the bar height errors | |
void | setBarErrorStyle (JKQTPErrorPlotstyle __value) |
sets the error style of the bar | |
void | setBarErrorSymmetric (bool __value) |
sets whether the errors of the bars are symmetric | |
void | setBarLowerErrorColumn (int column) |
sets the column that contains the bar height errors | |
void | setBarLowerErrorColumn (size_t column) |
sets the column that contains the bar height errors | |
Public Slots inherited from JKQTPBarHorizontalGraph | |
virtual void | setKeyColumn (int __value) override |
sets the column used as "key" for the current graph (typically this call setXColumn(), but for horizontal graphs like filled curves or barcharts it may call setYColumn() ) | |
virtual void | setValueColumn (int __value) override |
sets the column used as "value" for the current graph (typically this call setXColumn(), but for horizontal graphs like filled curves or barcharts it may call setYColumn() ) | |
Public Slots inherited from JKQTPBarGraphBase | |
virtual void | autoscaleBarWidthAndShift (double maxWidth=0.75, double shrinkFactor=0.9) |
finds all bar charts of the same orientation and determines width and shift, so they stand side by side | |
void | autoscaleBarWidthAndShiftSeparatedGroups (double groupWidth=0.75) |
equivalent to autoscaleBarWidthAndShift (groupWidth,0.9); | |
void | setBarHeightColumn (int column) |
returns xColumn or yColumn, whichever is used for the height of the bars (depending on whether the barchart is vertical or horizontal | |
void | setBarHeightColumn (size_t column) |
returns xColumn or yColumn, whichever is used for the height of the bars (depending on whether the barchart is vertical or horizontal | |
void | setBarPositionColumn (int column) |
returns xColumn or yColumn, whichever is used for the position of the bars (depending on whether the barchart is vertical or horizontal | |
void | setBarPositionColumn (size_t column) |
returns xColumn or yColumn, whichever is used for the position of the bars (depending on whether the barchart is vertical or horizontal | |
virtual void | setColor (QColor c) |
set outline and fill color at the same time | |
void | setCustomDrawingFunctor (const JKQTPBarGraphBase::CustomDrawingFunctor &f) |
this allows to provide custom drawing code for the bars. It is called for every visible bar if activated by setUseCustomDrawFunctor(true) . | |
void | setCustomDrawingFunctor (JKQTPBarGraphBase::CustomDrawingFunctor &&f) |
this allows to provide custom drawing code for the bars. It is called for every visible bar if activated by setUseCustomDrawFunctor(true) . | |
void | setDrawBaseline (bool __value) |
indicates whether to draw a line with style m_baselineStyle at the baseline-value | |
void | setFillBrushFunctor (const JKQTPBarGraphBase::FillBrushFunctor &f) |
functor, used to determine the color in m_fillMode==FunctorFilling | |
void | setFillBrushFunctor (const JKQTPBarGraphBase::SimpleFillBrushFunctor &f) |
functor, used to determine the color in m_fillMode==FunctorFilling | |
void | setFillBrushFunctor (JKQTPBarGraphBase::FillBrushFunctor &&f) |
functor, used to determine the color in m_fillMode==FunctorFilling | |
void | setFillBrushFunctor (JKQTPBarGraphBase::SimpleFillBrushFunctor &&f) |
functor, used to determine the color in m_fillMode==FunctorFilling | |
void | setFillMode (JKQTPBarGraphBase::FillMode mode) |
specifies how the area of the graph is filles | |
void | setLineColorDerivationModeForSpecialFill (const JKQTPColorDerivationMode &m) |
defines how to derive the line color in m_fillMode!=SingleFilling | |
void | setRectRadius (double all) |
sets the corner radius of the bars for both ends | |
void | setRectRadius (double atValue, double atBaseline) |
sets the corner radius of the bars for both ends | |
void | setRectRadiusAtBaseline (double __value) |
corner radius (in pt) for bars at the "baseline" end | |
void | setRectRadiusAtValue (double __value) |
corner radius (in pt) for bars at the "value" end | |
void | setShift (double __value) |
the shift of the bargraphs, relative to the distance between the current and the next x-value | |
void | setStackSeparation (double __value) |
separation (in pt) between two bars in a stack of bars | |
void | setUseCustomDrawFunctor (bool enabled) |
enabled custom drawing by m_customDrawFunctor | |
void | setWidth (double __value) |
the width of the bargraphs, relative to the distance between the current and the next x-value | |
Public Slots inherited from JKQTPXYBaselineGraph | |
void | setBaseline (double __value) |
baseline of the plot (NOTE: 0 is interpreted as until plot border in log-mode!!!) | |
Public Slots inherited from JKQTPXYGraph | |
void | setDataSortOrder (DataSortOrder __value) |
if !=Unsorted , the data is sorted before plotting | |
void | setDataSortOrder (int __value) |
if !=Unsorted , the data is sorted before plotting | |
virtual void | setKeyColumn (int __value) |
sets the column used as "key" for the current graph (typically this call setXColumn(), but for horizontal graphs like filled curves or barcharts it may call setYColumn() ) | |
virtual void | setValueColumn (int __value) |
sets the column used as "value" for the current graph (typically this call setXColumn(), but for horizontal graphs like filled curves or barcharts it may call setYColumn() ) | |
void | setXColumn (int __value) |
the column that contains the x-component of the datapoints | |
void | setXColumn (size_t __value) |
the column that contains the x-component of the datapoints | |
void | setXYColumns (int xCol, int yCol) |
sets xColumn and yColumn at the same time | |
void | setXYColumns (QPair< int, int > xyColPair) |
sets xColumn and yColumn at the same time | |
void | setXYColumns (QPair< size_t, size_t > xyColPair) |
sets xColumn and yColumn at the same time | |
void | setXYColumns (size_t xCol, size_t yCol) |
sets xColumn and yColumn at the same time | |
void | setYColumn (int __value) |
the column that contains the y-component of the datapoints | |
void | setYColumn (size_t __value) |
the column that contains the y-component of the datapoints | |
Public Slots inherited from JKQTPPlotElement | |
void | setHighlighted (bool __value) |
sets whether the graph is drawn in a highlighted style in the plot | |
virtual void | setTitle (const QString &__value) |
sets the title of the plot (for display in key!). | |
void | setVisible (bool __value) |
sets whether the graph is visible in the plot | |
Public Member Functions | |
JKQTPBarHorizontalErrorGraph (JKQTBasePlotter *parent=nullptr) | |
class constructor | |
JKQTPBarHorizontalErrorGraph (JKQTPlotter *parent) | |
class constructor | |
int | getBarErrorColumn () const |
returns the column that contains the bar height errors | |
JKQTPErrorPlotstyle | getBarErrorStyle () const |
returns the error style of the bar | |
bool | getBarErrorSymmetric () const |
returns whether the errors of the bars are symmetric | |
int | getBarLowerErrorColumn () const |
returns the column that contains the lower bar height errors | |
virtual bool | getXMinMax (double &minx, double &maxx, double &smallestGreaterZero) override |
get the maximum and minimum x-value of the graph | |
virtual bool | usesColumn (int c) const override |
returns true if the given column is used by the graph | |
Public Member Functions inherited from JKQTPBarHorizontalGraph | |
JKQTPBarHorizontalGraph (JKQTBasePlotter *parent=nullptr) | |
class constructor | |
JKQTPBarHorizontalGraph (JKQTPlotter *parent) | |
class constructor | |
virtual void | draw (JKQTPEnhancedPainter &painter) override |
plots the graph to the plotter object specified as parent | |
virtual int | getKeyColumn () const override |
returns the column used as "key" for the current graph (typically this call getXColumn(), but for horizontal graphs like filled curves or barcharts it may call getYColumn() ) | |
virtual int | getValueColumn () const override |
returns the column used as "value" for the current graph (typically this call getXColumn(), but for horizontal graphs like filled curves or barcharts it may call getYColumn() ) | |
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 JKQTPBarGraphBase | |
JKQTPBarGraphBase (JKQTBasePlotter *parent=nullptr) | |
class constructor | |
JKQTPBarGraphBase (JKQTPlotter *parent) | |
class constructor | |
JKQTPGraphLineStyleMixin & | baselineStyle () |
if m_drawBaseline ==true then this style is used to draw the baseline | |
const JKQTPGraphLineStyleMixin & | baselineStyle () const |
if m_drawBaseline ==true then this style is used to draw the baseline | |
virtual void | drawKeyMarker (JKQTPEnhancedPainter &painter, const QRectF &rect) override |
plots a key marker inside the specified rectangle rect | |
JKQTPGraphFillStyleMixin & | fillStyleBelow () |
if m_fillMode ==FillAboveAndBelowDifferently then this fill style is used below the baseline and the default fill style is used above | |
const JKQTPGraphFillStyleMixin & | fillStyleBelow () const |
if m_fillMode ==FillAboveAndBelowDifferently then this fill style is used below the baseline and the default fill style is used above | |
int | getBarHeightColumn () const |
returns xColumn or yColumn, whichever is used for the height of the bars (depending on whether the barchart is vertical or horizontal | |
int | getBarPositionColumn () const |
returns xColumn or yColumn, whichever is used for the position of the bars (depending on whether the barchart is vertical or horizontal | |
bool | getDrawBaseline () const |
indicates whether to draw a line with style m_baselineStyle at the baseline-value | |
FillBrushFunctor & | getFillBrushFunctor () |
functor, used to determine the color in m_fillMode==FunctorFilling | |
const FillBrushFunctor & | getFillBrushFunctor () const |
functor, used to determine the color in m_fillMode==FunctorFilling | |
FillMode | getFillMode () const |
specifies how the area of the graph is filles | |
virtual QColor | getKeyLabelColor () const override |
returns the color to be used for the key label | |
JKQTPColorDerivationMode | getLineColorDerivationModeForSpecialFill () const |
defines how to derive the line color in m_fillMode!=SingleFilling | |
double | getRectRadiusAtBaseline () const |
corner radius (in pt) for bars at the "baseline" end | |
double | getRectRadiusAtValue () const |
corner radius (in pt) for bars at the "value" end | |
double | getShift () const |
the shift of the bargraphs, relative to the distance between the current and the next x-value | |
double | getStackSeparation () const |
separation (in pt) between two bars in a stack of bars | |
double | getWidth () const |
the width of the bargraphs, relative to the distance between the current and the next x-value | |
void | setFillColor_and_darkenedColor (QColor fill, int colorDarker=200) |
sets the fill color and the color together, where fillColor is set to fill and the line-color is set to fill.darker(colorDarker) | |
bool | usesCustomDrawFunctor () const |
enabled custom drawing by m_customDrawFunctor | |
Public Member Functions inherited from JKQTPXYBaselineGraph | |
JKQTPXYBaselineGraph (JKQTBasePlotter *parent=nullptr) | |
class constructor | |
double | getBaseline () const |
baseline of the plot (NOTE: 0 is interpreted as until plot border in log-mode!!!) | |
Public Member Functions inherited from JKQTPXYGraph | |
JKQTPXYGraph (JKQTBasePlotter *parent=nullptr) | |
class constructor | |
DataSortOrder | getDataSortOrder () const |
if !=Unsorted , the data is sorted before plotting | |
int | getXColumn () const |
the column that contains the x-component of the datapoints | |
int | getYColumn () const |
the column that contains the y-component of the datapoints | |
virtual double | hitTest (const QPointF &posSystem, QPointF *closestSpotSystem=nullptr, QString *label=nullptr, HitTestMode mode=HitTestXY) const override |
Implmentation of JKQTPPlotElement::hitTest(), which searches through all graph points defined by xColumn and yColumn and returns a general x/y-label, also taking into account possibly known errors to the graphs (if it is derived from JKQTPXGraphErrorData and/or JKQTPYGraphErrorData. | |
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 | |
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 (JKQTBasePlotter *parent) |
sets the parent painter class | |
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 | |
Public Member Functions inherited from JKQTPGraphLineStyleMixin | |
JKQTPGraphLineStyleMixin () | |
class constructor | |
virtual | ~JKQTPGraphLineStyleMixin () |
QColor | getHighlightingLineColor () const |
get the color of the graph line when highlighted | |
QPen | getHighlightingLinePen (JKQTPEnhancedPainter &painter, JKQTBasePlotter *parent) const |
constructs a QPen from the line styling properties | |
QPen | getHighlightingLinePenForRects (JKQTPEnhancedPainter &painter, JKQTBasePlotter *parent) const |
constructs a QPen from the line styling properties, suitable for drawing rectangle with sharp corners | |
QPen | getKeyLinePen (JKQTPEnhancedPainter &painter, const QRectF &rect, JKQTBasePlotter *parent) const |
constructs a QPen from the line styling properties, but uses getKeyLineWidthPx() for the width, i.e. constructs a pen for drawing lines in key-symbols | |
double | getKeyLineWidthPx (JKQTPEnhancedPainter &painter, const QRectF &keyRect, const JKQTBasePlotter *parent) const |
returns the linewidth for drawing lines in a key entry with keyRect for the symbol, using painter and parent . | |
QBrush | getLineBrush () const |
gets the brush used to fill the line area | |
Qt::PenCapStyle | getLineCapStyle () const |
gets the cap style | |
QColor | getLineColor () const |
get the color of the graph line | |
qreal | getLineDashOffset () const |
returns the dash offset for a custom dash style | |
QVector< qreal > | getLineDashPattern () const |
gets the dash pattern for a custom dash style | |
Qt::PenJoinStyle | getLineJoinStyle () const |
returns the join style | |
QPen | getLinePen (JKQTPEnhancedPainter &painter, JKQTBasePlotter *parent) const |
constructs a QPen from the line styling properties | |
QPen | getLinePenForRects (JKQTPEnhancedPainter &painter, JKQTBasePlotter *parent) const |
constructs a QPen from the line styling properties, suitable for drawing rectangles with sharp edges | |
Qt::PenStyle | getLineStyle () const |
get the style of the graph line | |
double | getLineWidth () const |
get the line width of the graph line (in pt) | |
void | initLineStyle (JKQTBasePlotter *parent, int &parentPlotStyle, JKQTPPlotStyleType styletype=JKQTPPlotStyleType::Default) |
initiaize the line style (from the parent plotter) | |
void | setHighlightingLineColor (const QColor &__value) |
set the color of the graph line when highlighted | |
void | setHighlightingLineColor (const QColor &__value, double alpha) |
set the color of the graph line when highlighted | |
void | setLineBrush (const QBrush &style) |
sets the brush used to fill the line area | |
void | setLineCapStyle (Qt::PenCapStyle style) |
sets the cap style | |
void | setLineColor (const QColor &__value) |
set the color of the graph line | |
void | setLineColor (const QColor &__value, double alpha) |
set the color of the graph line | |
void | setLineColorInvertedFrom (QColor __noninvertedColor) |
sets the line-color as an inverted version of the given color | |
void | setLineDashOffset (qreal offset) |
sets the dash offset for a custom dash style | |
void | setLineDashPattern (const QVector< qreal > &pattern) |
sets the dash pattern for a custom dash style | |
void | setLineJoinStyle (Qt::PenJoinStyle style) |
sets the join style | |
void | setLineStyle (Qt::PenStyle __value) |
set the style of the graph line | |
void | setLineWidth (double __value) |
set the line width of the graph line (in pt) | |
Public Member Functions inherited from JKQTPGraphFillStyleMixin | |
JKQTPGraphFillStyleMixin () | |
class constructor | |
virtual | ~JKQTPGraphFillStyleMixin () |
QBrush | getFillBrush (JKQTPEnhancedPainter &painter, JKQTBasePlotter *parent) const |
constructs a QBrush from the graph fill styling properties | |
QColor | getFillColor () const |
set the color of the graph filling | |
const QGradient * | getFillGradient () const |
get the gradient object of the graph filling | |
Qt::BrushStyle | getFillStyle () const |
get the fill style of the graph | |
QPixmap | getFillTexture () const |
set the color of the graph filling | |
QImage | getFillTextureImage () const |
set the color of the graph filling | |
void | initFillStyle (JKQTBasePlotter *parent, int &parentPlotStyle, JKQTPPlotStyleType styletype=JKQTPPlotStyleType::Default) |
initiaize the fill style (from the parent plotter) | |
void | initFillStyleInvertedColor (JKQTPGraphFillStyleMixin *other) |
initiaize the fill style from another JKQTPGraphFillStyleMixin other by inverting its fill color | |
void | setFillBrush (const QBrush &b) |
sets a fill brush (overwrites all internal properties!) | |
void | setFillColor (const QColor &__value) |
set the color of the graph filling | |
void | setFillColor (const QColor &__value, double alpha) |
set the color of the graph filling | |
void | setFillGradient (const QGradient &__value) |
set the filling of the graph to a gradient and sets fill style to a gradient setting | |
void | setFillStyle (Qt::BrushStyle __value) |
set the fill style of the graph | |
void | setFillTexture (const QImage &__value) |
set the color of the graph filling and sets fill style to Qt::TexturePattern | |
void | setFillTexture (const QPixmap &__value) |
set the color of the graph filling and sets fill style to Qt::TexturePattern | |
void | setFillTransform (const QTransform &b) |
sets a fill transformation | |
Public Member Functions inherited from JKQTPXGraphErrors | |
JKQTPXGraphErrors () | |
class contructor | |
virtual | ~JKQTPXGraphErrors ()=default |
virtual bool | errorUsesColumn (int c) const |
returns true, if the error plots use the given column | |
Public Member Functions inherited from JKQTPXGraphErrorData | |
JKQTPXGraphErrorData () | |
class contructor | |
virtual | ~JKQTPXGraphErrorData ()=default |
int | getXErrorColumn () const |
the column that contains the error of the x-component of the datapoints | |
int | getXErrorColumnLower () const |
the column that contains the error of the x-component of the datapoints. This is used as the lower error length, if xErrorSymmetric ==false . | |
JKQTPErrorPlotstyle | getXErrorStyle () const |
how to draw the errors (if available) of the x-value | |
bool | getXErrorSymmetric () const |
indicates whether the x-errors are symmetric (from one column only) | |
void | setXErrorColumn (int __value) |
the column that contains the error of the x-component of the datapoints | |
void | setXErrorColumnLower (int __value) |
the column that contains the error of the x-component of the datapoints. This is used as the lower error length, if xErrorSymmetric ==false . | |
void | setXErrorStyle (JKQTPErrorPlotstyle __value) |
how to draw the errors (if available) of the x-value | |
void | setXErrorSymmetric (bool __value) |
indicates whether the x-errors are symmetric (from one column only) | |
Public Member Functions inherited from JKQTPGraphErrorStyleMixin | |
JKQTPGraphErrorStyleMixin () | |
class contructor | |
virtual | ~JKQTPGraphErrorStyleMixin ()=default |
double | getErrorBarCapSize () const |
size of the error bar end markers [pt] | |
QColor | getErrorFillColor () const |
get the fill color of the error indicators | |
const QGradient * | getErrorFillGradient () const |
get the gradient object of the error indicator filling | |
Qt::BrushStyle | getErrorFillStyle () const |
get the fill style of the error indicators | |
QPixmap | getErrorFillTexture () const |
set the color of the error indicator filling | |
QImage | getErrorFillTextureImage () const |
set the color of the error indicator filling | |
QBrush | getErrorLineBrush () const |
gets the brush used to fill the line area of the error indicator (out)lines | |
Qt::PenCapStyle | getErrorLineCapStyle () const |
gets the cap style of the error indicator (out)lines | |
QColor | getErrorLineColor () const |
get the color of the error indicator (out)lines | |
qreal | getErrorLineDashOffset () const |
returns the dash offset for a custom dash style of the error indicator (out)lines | |
QVector< qreal > | getErrorLineDashPattern () const |
gets the dash pattern for a custom dash style of the error indicator (out)lines | |
Qt::PenJoinStyle | getErrorLineJoinStyle () const |
returns the join style of the error indicator (out)lines | |
Qt::PenStyle | getErrorLineStyle () const |
get the style of the error indicator (out)lines | |
double | getErrorLineWidth () const |
get the width [pt] of the error indicator (out)lines | |
void | initErrorStyle (JKQTBasePlotter *parent, int &parentPlotStyle, JKQTPPlotStyleType styletype=JKQTPPlotStyleType::Default) |
initiaize the error indicator style (from the parent plotter) | |
void | setErrorBarCapSize (double __value) |
size of the error bar end markers [pt] | |
void | setErrorColorFromGraphColor (QColor graphColor) |
derive the colors of the error indicators from a given color | |
void | setErrorFillBrush (const QBrush &b) |
sets an error indicator fill brush (overwrites all internal properties!) | |
void | setErrorFillColor (const QColor &__value) |
set the fill color of the error indicators | |
void | setErrorFillGradient (const QGradient &__value) |
set the filling of the error indicators to a gradient and sets fill style to a gradient setting | |
void | setErrorFillStyle (Qt::BrushStyle __value) |
set the fill style of the error indicators | |
void | setErrorFillTexture (const QImage &__value) |
set the color of the error indicator filling and sets fill style to Qt::TexturePattern | |
void | setErrorFillTexture (const QPixmap &__value) |
set the color of the error indicator filling and sets fill style to Qt::TexturePattern | |
void | setErrorFillTransform (const QTransform &b) |
sets an error indicator fill transformation | |
void | setErrorLineBrush (const QBrush &style) |
sets the brush used to fill the line area of the error indicator (out)lines | |
void | setErrorLineCapStyle (Qt::PenCapStyle style) |
sets the cap style of the error indicator (out)lines | |
void | setErrorLineColor (const QColor &__value) |
set the color of the error indicator (out)lines | |
void | setErrorLineDashOffset (qreal offset) |
sets the dash offset for a custom dash style of the error indicator (out)lines | |
void | setErrorLineDashPattern (const QVector< qreal > &pattern) |
sets the dash pattern for a custom dash style of the error indicator (out)lines | |
void | setErrorLineJoinStyle (Qt::PenJoinStyle style) |
sets the join style of the error indicator (out)lines | |
void | setErrorLineStyle (Qt::PenStyle __value) |
set the style of the error indicator (out)lines | |
void | setErrorLineWidth (double __value) |
set the width [pt] of the error indicator (out)lines | |
void | setErrorStyleFromPen (const JKQTBasePlotter::JKQTPPen &pen) |
derive the properties of the error indicators from pen | |
Protected Member Functions | |
virtual void | drawErrorsAfter (JKQTPEnhancedPainter &painter) override |
this function is used to plot error inidcators before plotting the graphs. | |
Protected Member Functions inherited from JKQTPBarHorizontalGraph | |
virtual bool | considerForAutoscaling (JKQTPBarGraphBase *other) const override |
this function is used by autoscaleBarWidthAndShift() to determine whether a given graph shall be taken into account when autoscaling. Typically this returns true for all JKQTPBarGraphBase-derved objects with the same orientation (horizontal or vertical) | |
Protected Member Functions inherited from JKQTPBarGraphBase | |
virtual FillBrushFunctor | constructFillBrushFunctor () const |
returns a FillBrushFunctor that is appropriate for the currently selected m_fillMode | |
virtual double | getParentStackedMax (int index) const |
used to generate stacked plots: returns the upper boundary of the parent plot in a stack, for the index-th datapoint | |
bool | getPositionsMinMax (double &mmin, double &mmax, double &smallestGreaterZero) |
get the maximum and minimum value of the box positions of the graph | |
bool | getValuesMinMax (double &mmin, double &mmax, double &smallestGreaterZero) |
get the maximum and minimum value in the box-elongation (i.e. value) direction of the graph | |
virtual bool | hasStackParent () const |
returns true , if a stack parent is set (if available) | |
Protected Member Functions inherited from JKQTPXYBaselineGraph | |
bool | getMinMaxWithBaseline (int dataColumn, double &minv, double &maxv, double &smallestGreaterZero) |
can be called by JKQTPGraph::getXMinMax() or JKQTPGraph::getYMinMax() calculates min/max/... for data from the given column, including the baseline | |
bool | getMinMaxWithErrorsAndBaseline (int dataColumn, int errorColumn, int errorColumnLower, bool errorSymmetric, double &minv, double &maxv, double &smallestGreaterZero) |
can be called by JKQTPGraph::getXMinMax() or JKQTPGraph::getYMinMax() calculates min/max/... for data from the given column, including the baseline and an optional error | |
Protected Member Functions inherited from JKQTPXYGraph | |
int | getDataIndex (int i) const |
returns the index of the i-th datapoint (where i is an index into the SORTED datapoints) | |
virtual bool | getIndexRange (int &imin, int &imax) const |
determines the range of row indexes available in the data columns of this graph | |
virtual void | intSortData () |
sorts data according to the specified criterion in sortData ... The result is stored as a index-map in sorted Indices | |
Protected Member Functions inherited from JKQTPGraph | |
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 | |
Protected Member Functions inherited from JKQTPXGraphErrors | |
virtual void | plotErrorIndicators (JKQTPEnhancedPainter &painter, const JKQTBasePlotter *parent, const JKQTPGraph *parentGraph, int xColumn, int yColumn, double xrelshift=0, double yrelshift=0.0, const QVector< int > *dataorder=nullptr) const |
draws the error indicators | |
Protected Member Functions inherited from JKQTPXGraphErrorData | |
virtual double | getXErrorL (int i, const JKQTPDatastore *ds) const |
returns the lower x-error for the i-th datapoint, read from datastore ds | |
virtual double | getXErrorU (int i, const JKQTPDatastore *ds) const |
returns the upper x-error for the i-th datapoint, read from datastore ds | |
Protected Member Functions inherited from JKQTPGraphErrorStyleMixin | |
QBrush | getErrorFillBrush (JKQTPEnhancedPainter &painter, const JKQTBasePlotter *parent) const |
constructs a QBrush from the error indicator fill styling properties | |
QPen | getErrorLinePen (JKQTPEnhancedPainter &painter, const JKQTBasePlotter *parent) const |
constructs a QPen from the error indicator line styling properties | |
QPen | getErrorLinePenForRects (JKQTPEnhancedPainter &painter, const JKQTBasePlotter *parent) const |
constructs a QPen from the error indicator line styling properties, suitable for drawing rectangles with sharp edges | |
void | intPlotXYErrorIndicators (JKQTPEnhancedPainter &painter, const JKQTBasePlotter *parent, const JKQTPGraph *parentGraph, int xColumn, int yColumn, int xErrorColumn, int yErrorColumn, JKQTPErrorPlotstyle xErrorStyle, JKQTPErrorPlotstyle yErrorStyle, int xErrorColumnLower=-1, int yErrorColumnLower=-1, bool xErrorSymmetric=true, bool yErrorSymmetric=true, double xrelshift=0, double yrelshift=0.0, const QVector< int > *dataorder=nullptr) const |
draw error indicators with the parameters defined in this class. The position of the datapoints is given by the xColumn and yColumn. It is also possible to specify a datarange. | |
virtual bool | intPlotXYErrorIndicatorsGetColor (JKQTPEnhancedPainter &painter, const JKQTBasePlotter *parent, const JKQTPGraph *parentGraph, int xColumn, int yColumn, int xErrorColumn, int yErrorColumn, JKQTPErrorPlotstyle xErrorStyle, JKQTPErrorPlotstyle yErrorStyle, int index, QColor &errorLineColor, QColor &errorFillColor) const |
this function can be used to set the color of the error indicators automatically | |
Additional Inherited Members | |
Public Types inherited from JKQTPBarGraphBase | |
typedef std::function< void(JKQTPEnhancedPainter &painter, const QRectF &bar_px, const QPointF &datapoint, Qt::Orientation orientation, JKQTPBarGraphBase *graph)> | CustomDrawingFunctor |
functor for custom drawing of bars | |
typedef std::function< QBrush(double key, double value, JKQTPEnhancedPainter &painter, JKQTPBarGraphBase *graph)> | FillBrushFunctor |
a type of functor for FillMode::FunctorFilling | |
enum | FillMode { SingleFilling =0 , TwoColorFilling =1 , FunctorFilling =2 } |
specifies how the area below the graph is filled More... | |
typedef std::function< QBrush(double key, double value)> | SimpleFillBrushFunctor |
a simplified type of functor for FillMode::FunctorFilling | |
Public Types inherited from JKQTPXYGraph | |
enum | DataSortOrder { Unsorted =0 , SortedX =1 , SortedY =2 } |
specifies how to sort the data in a JKQTPXYGraph before drawing More... | |
Public Types inherited from JKQTPPlotElement | |
enum | HitTestMode { HitTestXY , HitTestXOnly , HitTestYOnly } |
modes of operation for the function hitTest() More... | |
Protected Attributes inherited from JKQTPBarGraphBase | |
JKQTPGraphLineStyleMixin | m_baselineStyle |
if m_drawBaseline ==true then this style is used to draw the baseline | |
CustomDrawingFunctor | m_customDrawFunctor |
this allows to provide custom drawing code for the bars. It is called for every visible bar if activated by setUseCustomDrawFunctor(true) . | |
bool | m_drawBaseline |
indicates whether to draw a line with style m_baselineStyle at the baseline-value | |
FillBrushFunctor | m_fillBrushFunctor |
functor, used to determine the color in m_fillMode==FunctorFilling | |
FillMode | m_fillMode |
specifies how the area of the graph is filles | |
JKQTPGraphFillStyleMixin | m_fillStyleBelow |
if m_fillMode ==FillAboveAndBelowDifferently then this fill style is used below the baseline and the default fill style is used above | |
JKQTPColorDerivationMode | m_lineColorDerivationModeForSpecialFill |
defines how to derive the line color in m_fillMode!=SingleFilling | |
double | m_stackSeparation |
separation (in pt) between two bars in a stack of bars | |
bool | m_useCustomDrawFunctor |
enabled custom drawing by m_customDrawFunctor | |
double | rectRadiusAtBaseline |
corner radius (in pt) for bars at the "baseline" end | |
double | rectRadiusAtValue |
corner radius (in pt) for bars at the "value" end | |
double | shift |
the shift of the bargraphs, relative to the distance between the current and the next x-value | |
double | width |
the width of the bargraphs, relative to the distance between the current and the next x-value | |
Protected Attributes inherited from JKQTPXYBaselineGraph | |
double | m_baseline |
baseline of the plot (NOTE: 0 is interpreted as until plot border in log-mode!!!) | |
Protected Attributes inherited from JKQTPXYGraph | |
QVector< int > | sortedIndices |
this array contains the order of indices, in which to access the data in the data columns | |
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 | |
Protected Attributes inherited from JKQTPXGraphErrorData | |
int | xErrorColumn |
the column that contains the error of the x-component of the datapoints | |
int | xErrorColumnLower |
the column that contains the error of the x-component of the datapoints. This is used as the lower error length, if xErrorSymmetric ==false . | |
JKQTPErrorPlotstyle | xErrorStyle |
how to draw the errors (if available) of the x-value | |
bool | xErrorSymmetric |
indicates whether the x-errors are symmetric (from one column only) | |
Protected Attributes inherited from JKQTPGraphErrorStyleMixin | |
double | m_errorBarCapSize |
size of the error bar end markers [pt] | |
QBrush | m_errorFillBrush |
fill brush for the error indicators | |
QColor | m_errorFillColor |
fill color for the error indicators | |
QPen | m_errorLinePen |
error indicator line pen | |
double | m_errorLineWidth |
width of the error indicators' lines, given in pt | |
Properties inherited from JKQTPXYBaselineGraph | |
double | baseline |
Properties inherited from JKQTPXYGraph | |
DataSortOrder | sortData |
if !=Unsorted , the data is sorted before plotting | |
int | xColumn |
the column that contains the x-component of the datapoints | |
int | yColumn |
the column that contains the y-component of the datapoints | |
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 | |
Properties inherited from JKQTPGraphLineStyleMixin | |
QColor | highlightingLineColor |
QColor | lineColor |
Qt::PenStyle | lineStyle |
double | lineWidth |
Properties inherited from JKQTPGraphFillStyleMixin | |
QColor | fillColor |
Qt::BrushStyle | fillStyle |
This implements a horizontal bar graph with bars between and and error indicator.
This works much the same as JKQTPBarHorizontalGraph, but also draws error indicators. Here is an example output:
Error indicators are defined and styled by functions from JKQTPXGraphErrors.
JKQTPBarHorizontalErrorGraph::JKQTPBarHorizontalErrorGraph | ( | JKQTBasePlotter * | parent = nullptr | ) |
class constructor
JKQTPBarHorizontalErrorGraph::JKQTPBarHorizontalErrorGraph | ( | JKQTPlotter * | parent | ) |
class constructor
|
overrideprotectedvirtual |
this function is used to plot error inidcators before plotting the graphs.
Reimplemented from JKQTPGraph.
int JKQTPBarHorizontalErrorGraph::getBarErrorColumn | ( | ) | const |
returns the column that contains the bar height errors
JKQTPErrorPlotstyle JKQTPBarHorizontalErrorGraph::getBarErrorStyle | ( | ) | const |
returns the error style of the bar
bool JKQTPBarHorizontalErrorGraph::getBarErrorSymmetric | ( | ) | const |
returns whether the errors of the bars are symmetric
int JKQTPBarHorizontalErrorGraph::getBarLowerErrorColumn | ( | ) | const |
returns the column that contains the lower bar height errors
|
overridevirtual |
get the maximum and minimum x-value of the graph
The result is given in the two parameters which are call-by-reference parameters!
[out] | minx | minimal x-value used in the graph |
[out] | maxx | maximal x-value used in the graph |
[out] | smallestGreaterZero | the smalles x-value in the graph, which is larger than 0 (this is used in auto-sizing for logarithmic axes) |
true
on success, i.e. if there were datapoints in the plot, or false
on failure (e.g. when the graph is empty) Reimplemented from JKQTPBarHorizontalGraph.
|
slot |
sets the column that contains the bar height errors
|
slot |
sets the column that contains the bar height errors
|
slot |
sets the error style of the bar
|
slot |
sets whether the errors of the bars are symmetric
|
slot |
sets the column that contains the bar height errors
|
slot |
sets the column that contains the bar height errors
|
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 JKQTPXYGraph.