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 vertical boxplots, optionally also a notched boxplot. More...
#include <jkqtpboxplot.h>
Public Member Functions | |
JKQTPBoxplotVerticalGraph (JKQTBasePlotter *parent=nullptr) | |
class constructor | |
JKQTPBoxplotVerticalGraph (JKQTPlotter *parent) | |
class constructor | |
virtual void | draw (JKQTPEnhancedPainter &painter) override |
plots the graph to the plotter object specified as parent | |
virtual void | drawKeyMarker (JKQTPEnhancedPainter &painter, const QRectF &rect) override |
plots a key marker inside the specified rectangle rect | |
virtual bool | getXMinMax (double &minx, double &maxx, double &smallestGreaterZero) override |
get the maximum and minimum x-value of the graph | |
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 JKQTPBoxplotGraphBase | |
JKQTPBoxplotGraphBase (JKQTBasePlotter *parent=nullptr) | |
class constructor | |
double | getBoxWidthRelative () const |
width of box in percent of distance between the current two posColumn values if we only plot one box&whiskers then JKQTPGraphBoxplotStyleMixin::boxWidthAbsolute in pt is used | |
DataSortOrder | getDataSortOrder () const |
if !=Unsorted , the data is sorted before plotting | |
virtual QColor | getKeyLabelColor () const override |
returns the color to be used for the key label | |
int | getMaxColumn () const |
the column that contains the maximum-component of the datapoints | |
int | getMeanColumn () const |
the column that contains the median-component of the datapoints. | |
int | getMedianColumn () const |
the column that contains the median-component of the datapoints | |
int | getMedianConfidenceColumn () const |
the column that contains the confidence interval width of the median (e.g. 1.57*IQR/sqrt(n) ). This is used to draw a notch in the plot (if set) | |
int | getMinColumn () const |
the column that contains the minimum-component of the datapoints | |
int | getPercentile25Column () const |
the column that contains the 25% percentile-component of the datapoints | |
int | getPercentile75Column () const |
the column that contains the 75% percentile-component of the datapoints | |
int | getPositionColumn () const |
the column that contains the x-component of the datapoints | |
bool | getUseRelativeBoxWidth () const |
if set true , boxplot widths are calculated automatically, based on boxWidthRelative, otherwise JKQTPGraphBoxplotStyleMixin::boxWidthAbsolute is used. | |
virtual bool | usesColumn (int c) const override |
returns true if the given column is used by 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 (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 JKQTPGraphBoxplotStyleMixin | |
JKQTPGraphBoxplotStyleMixin () | |
class constructor | |
double | getBoxWidthAbsolute () const |
width of box in pt. | |
bool | getDrawBox () const |
enables/disables drawing of the actual box of the boxplot (false leads to Tufte Style boxplots ) | |
QColor | getMeanColor () const |
set the color of the symbol for the mean, or mean line | |
QColor | getMeanFillColor () const |
set the color of filling of the symbol for the mean | |
qreal | getMeanLineDashOffset () const |
returns the dash offset for a custom dash style of Mean lines | |
QVector< qreal > | getMeanLineDashPattern () const |
gets the dash pattern for a custom dash style of Mean lines | |
QPen | getMeanLinePen (JKQTPEnhancedPainter &painter, JKQTBasePlotter *parent) const |
constructs a QPen from the line styling properties to draw the mean line | |
Qt::PenStyle | getMeanLineStyle () const |
get the line style of Mean lines | |
double | getMeanLineWidth () const |
get the line width of the symbol for the mean outline, or mean line (in pt) | |
MeanMode | getMeanMode () const |
specifies how to draw the mean (as a line of as a symbol, specified by the function in JKQTPGraphSymbolStyleMixin) | |
double | getMeanSize () const |
get the size (=diameter in pt) of the symbol for the mean (in pt) | |
QBrush | getMeanSymbolBrush (JKQTPEnhancedPainter &painter, JKQTBasePlotter *parent) const |
constructs a QPen from the line styling properties | |
QFont | getMeanSymbolFont () const |
generate a QFont for darwing symbols | |
QString | getMeanSymbolFontName () const |
get the font to be used for mean character symbols JKQTPCharacterSymbol+QChar ('').unicode() | |
QPen | getMeanSymbolPen (JKQTPEnhancedPainter &painter, JKQTBasePlotter *parent) const |
constructs a QPen from the line styling properties to draw the mean symbol | |
JKQTPGraphSymbols | getMeanSymbolType () const |
get the type of the symbol for the mean | |
QBrush | getMedianLineBrush () const |
gets the brush used to fill the line area of median lines | |
Qt::PenCapStyle | getMedianLineCapStyle () const |
gets the cap style of median lines | |
QColor | getMedianLineColor () const |
get the color of median lines | |
qreal | getMedianLineDashOffset () const |
returns the dash offset for a custom dash style of median lines | |
QVector< qreal > | getMedianLineDashPattern () const |
gets the dash pattern for a custom dash style of median lines | |
Qt::PenJoinStyle | getMedianLineJoinStyle () const |
returns the join style of median lines | |
Qt::PenStyle | getMedianLineStyle () const |
get the line style of median lines | |
double | getMedianLineWidth () const |
get the width [pt] of median lines | |
QPen | getMedianPen (JKQTPEnhancedPainter &painter, JKQTBasePlotter *parent) const |
build a pen to be used for drawing medians | |
double | getRelativeNotchIndent () const |
single-sided indention of the notch (if any), relative to the box width (default: 0.25) | |
double | getRelativeWhiskerWidth () const |
width of the whiskers, relative to the box width (default: 0.5) | |
QBrush | getWhiskerCapLineBrush () const |
gets the brush used to fill the line area of whisker cap lines | |
Qt::PenCapStyle | getWhiskerCapLineCapStyle () const |
gets the cap style of whisker cap lines | |
QColor | getWhiskerCapLineColor () const |
get the color of whisker cap lines | |
qreal | getWhiskerCapLineDashOffset () const |
returns the dash offset for a custom dash style of whisker cap lines | |
QVector< qreal > | getWhiskerCapLineDashPattern () const |
gets the dash pattern for a custom dash style of whisker cap lines | |
Qt::PenJoinStyle | getWhiskerCapLineJoinStyle () const |
returns the join style of whisker cap lines | |
Qt::PenStyle | getWhiskerCapLineStyle () const |
get the line style of whisker cap lines | |
double | getWhiskerCapLineWidth () const |
get the width [pt] of whisker cap lines | |
QPen | getWhiskerCapPen (JKQTPEnhancedPainter &painter, JKQTBasePlotter *parent) const |
build a pen to be used for drawing whisker caps | |
QBrush | getWhiskerLineBrush () const |
gets the brush used to fill the line area of whisker lines | |
Qt::PenCapStyle | getWhiskerLineCapStyle () const |
gets the cap style of whisker lines | |
QColor | getWhiskerLineColor () const |
get the color of whisker lines | |
qreal | getWhiskerLineDashOffset () const |
returns the dash offset for a custom dash style of whisker lines | |
QVector< qreal > | getWhiskerLineDashPattern () const |
gets the dash pattern for a custom dash style of whisker lines | |
Qt::PenJoinStyle | getWhiskerLineJoinStyle () const |
returns the join style of whisker lines | |
Qt::PenStyle | getWhiskerLineStyle () const |
get the line style of whisker lines | |
double | getWhiskerLineWidth () const |
get the width [pt] of whisker lines | |
QPen | getWhiskerPen (JKQTPEnhancedPainter &painter, JKQTBasePlotter *parent) const |
build a pen to be used for drawing whiskers | |
void | initBoxplotStyle (JKQTBasePlotter *parent, int &parentPlotStyle) |
void | setBoxplotColor (QColor c, JKQTBasePlotter *parent) |
set the color of the graph (colors all elements, based on the given color c ) | |
void | setBoxplotColor (QColor c, QColor bc, JKQTBasePlotter *parent) |
set the color of the graph (colors all elements, based on the given color c , sets background colors from bc ) | |
void | setBoxWidthAbsolute (double __value) |
width of box in pt. | |
void | setDrawBox (bool __value) |
enables/disables drawing of the actual box of the boxplot (false leads to Tufte Style boxplots ) | |
void | setMeanColor (const QColor &__value) |
set the color of the symbol for the mean, or mean line | |
void | setMeanFillColor (const QColor &__value) |
set the color of filling of the symbol for the mean | |
void | setMeanLineDashOffset (qreal offset) |
sets the dash offset for a custom dash style of Mean lines | |
void | setMeanLineDashPattern (const QVector< qreal > &pattern) |
sets the dash pattern for a custom dash style of Mean lines | |
void | setMeanLineStyle (Qt::PenStyle __value) |
set the line style of Mean lines | |
void | setMeanLineWidth (double __value) |
set the line width of the symbol for the mean outline, or mean line (in pt) | |
void | setMeanMode (MeanMode __value) |
specifies how to draw the mean (as a line of as a symbol, specified by the function in JKQTPGraphSymbolStyleMixin) | |
void | setMeanSize (double __value) |
set the size (=diameter in pt) of the symbol for the mean (in pt) | |
void | setMeanSymbolFontName (const QString &__value) |
set the font to be used for mean character symbols JKQTPCharacterSymbol+QChar ('').unicode() | |
void | setMeanSymbolType (JKQTPGraphSymbols __value) |
set the type of the symbol for the mean | |
void | setMedianLineBrush (const QBrush &style) |
sets the brush used to fill the line area of median lines | |
void | setMedianLineCapStyle (Qt::PenCapStyle style) |
sets the cap style of median lines | |
void | setMedianLineColor (QColor __value) |
set the color of median lines | |
void | setMedianLineDashOffset (qreal offset) |
sets the dash offset for a custom dash style of median lines | |
void | setMedianLineDashPattern (const QVector< qreal > &pattern) |
sets the dash pattern for a custom dash style of median lines | |
void | setMedianLineJoinStyle (Qt::PenJoinStyle style) |
sets the join style of median lines | |
void | setMedianLineStyle (Qt::PenStyle __value) |
set the line style of median lines | |
void | setMedianLineWidth (double __value) |
set the width [pt] of median lines | |
void | setRelativeNotchIndent (double __value) |
single-sided indention of the notch (if any), relative to the box width (default: 0.25) | |
void | setRelativeWhiskerWidth (double __value) |
width of the whiskers, relative to the box width (default: 0.5) | |
void | setWhiskerCapLineBrush (const QBrush &style) |
sets the brush used to fill the line area of whisker cap lines | |
void | setWhiskerCapLineCapStyle (Qt::PenCapStyle style) |
sets the cap style of whisker cap lines | |
void | setWhiskerCapLineColor (QColor __value) |
set the color of whisker cap lines | |
void | setWhiskerCapLineDashOffset (qreal offset) |
sets the dash offset for a custom dash style of whisker cap lines | |
void | setWhiskerCapLineDashPattern (const QVector< qreal > &pattern) |
sets the dash pattern for a custom dash style of whisker cap lines | |
void | setWhiskerCapLineJoinStyle (Qt::PenJoinStyle style) |
sets the join style of whisker cap lines | |
void | setWhiskerCapLineStyle (Qt::PenStyle __value) |
set the line style of whisker cap lines | |
void | setWhiskerCapLineWidth (double __value) |
set the width [pt] of whisker cap lines | |
void | setWhiskerLineBrush (const QBrush &style) |
sets the brush used to fill the line area of whisker lines | |
void | setWhiskerLineCapStyle (Qt::PenCapStyle style) |
sets the cap style of whisker lines | |
void | setWhiskerLineColor (QColor __value) |
set the color of whisker lines | |
void | setWhiskerLineDashOffset (qreal offset) |
sets the dash offset for a custom dash style of whisker lines | |
void | setWhiskerLineDashPattern (const QVector< qreal > &pattern) |
sets the dash pattern for a custom dash style of whisker lines | |
void | setWhiskerLineJoinStyle (Qt::PenJoinStyle style) |
sets the join style of whisker lines | |
void | setWhiskerLineStyle (Qt::PenStyle __value) |
set the line style of whisker lines | |
void | setWhiskerLineWidth (double __value) |
set the width [pt] of whisker lines | |
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 | |
Additional Inherited Members | |
Public Types inherited from JKQTPBoxplotGraphBase | |
enum | DataSortOrder { Unsorted =0 , Sorted =1 } |
Sort order in a JKQTPBoxplotVerticalGraph (or one of its child classes) More... | |
Public Types inherited from JKQTPPlotElement | |
enum | HitTestMode { HitTestXY , HitTestXOnly , HitTestYOnly } |
modes of operation for the function hitTest() More... | |
Public Types inherited from JKQTPGraphBoxplotStyleMixin | |
enum | MeanMode { MeanAsSymbol , MeanAsLine } |
modes of how to draw the mean in a boxplot More... | |
Public Slots inherited from JKQTPBoxplotGraphBase | |
void | setBoxWidthRelative (double __value) |
width of box in percent of distance between the current two posColumn values if we only plot one box&whiskers then JKQTPGraphBoxplotStyleMixin::boxWidthAbsolute in pt is used | |
virtual void | setColor (QColor c) |
set the color of the graph (colors all elements, based on the given color c ) | |
void | setDataSortOrder (DataSortOrder __value) |
if !=Unsorted , the data is sorted before plotting | |
void | setDataSortOrder (int __value) |
if !=Unsorted , the data is sorted before plotting | |
void | setMaxColumn (int __value) |
the column that contains the maximum-component of the datapoints | |
void | setMaxColumn (size_t __value) |
the column that contains the maximum-component of the datapoints | |
void | setMeanColumn (int __value) |
the column that contains the median-component of the datapoints. | |
void | setMeanColumn (size_t __value) |
the column that contains the median-component of the datapoints. | |
void | setMedianColumn (int __value) |
the column that contains the median-component of the datapoints | |
void | setMedianColumn (size_t __value) |
the column that contains the median-component of the datapoints | |
void | setMedianConfidenceColumn (size_t __value) |
the column that contains the confidence interval width of the median (e.g. 1.57*IQR/sqrt(n) ). This is used to draw a notch in the plot (if set) | |
void | setMinColumn (int __value) |
the column that contains the minimum-component of the datapoints | |
void | setMinColumn (size_t __value) |
the column that contains the minimum-component of the datapoints | |
void | setPercentile25Column (int __value) |
the column that contains the 25% percentile-component of the datapoints | |
void | setPercentile25Column (size_t __value) |
the column that contains the 25% percentile-component of the datapoints | |
void | setPercentile75Column (int __value) |
the column that contains the 75% percentile-component of the datapoints | |
void | setPercentile75Column (size_t __value) |
the column that contains the 75% percentile-component of the datapoints | |
void | setPositionColumn (int __value) |
the column that contains the x-component of the datapoints | |
void | setPositionColumn (size_t __value) |
the column that contains the x-component of the datapoints | |
void | setUseRelativeBoxWidth (bool __value) |
if set true , boxplot widths are calculated automatically, based on boxWidthRelative, otherwise JKQTPGraphBoxplotStyleMixin::boxWidthAbsolute is used. | |
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 | |
Protected Member Functions inherited from JKQTPBoxplotGraphBase | |
int | getDataIndex (int i) const |
retrieves the index of the i-th element when data is sorted (after calling intSortData(), which generates a map from unsorted to sorted data | |
virtual void | intSortData () |
generates a map from unsorted to sorted data | |
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 | |
Protected Member Functions inherited from JKQTPGraphBoxplotStyleMixin | |
void | plotHorizontalBoxplot (JKQTBasePlotter *parent, JKQTPEnhancedPainter &painter, double yp, double ypbottom, double yptop, double minp, double q25p, double medianp, double q75p, double maxp, double meanp=JKQTP_NAN, double notchLowerp=JKQTP_NAN, double notchUpperp=JKQTP_NAN) const |
draws a horizontal boxplot, with all coordinates/sizes given in coordinates of the given painter, using the style properties declared in this class. Provide a parameter with JKQTP_NAN of you don't want it to be drawn, or don't know its value | |
void | plotHorizontalKeyMarker (JKQTBasePlotter *parent, JKQTPEnhancedPainter &painter, const QRectF &rect) |
draw a small, stylized, horizontal symbol into rect that symbolizes a boxplot, e.g. in a plot legend | |
void | plotStyledMeanSymbol (JKQTBasePlotter *parent, JKQTPEnhancedPainter &painter, double x, double y) const |
plot a symbol at location x,y (in painter coordinates), using the current style | |
void | plotVerticalBoxplot (JKQTBasePlotter *parent, JKQTPEnhancedPainter &painter, double xp, double xpleft, double xpright, double minp, double q25p, double medianp, double q75p, double maxp, double meanp=JKQTP_NAN, double notchLowerp=JKQTP_NAN, double notchUpperp=JKQTP_NAN) const |
draws a vertical boxplot, with all coordinates/sizes given in coordinates of the given painter, using the style properties declared in this class. Provide a parameter with JKQTP_NAN of you don't want it to be drawn, or don't know its value | |
void | plotVerticalKeyMarker (JKQTBasePlotter *parent, JKQTPEnhancedPainter &painter, const QRectF &rect) |
draw a small, stylized, vertical symbol into rect that symbolizes a boxplot, e.g. in a plot legend | |
Protected Attributes inherited from JKQTPBoxplotGraphBase | |
double | boxWidthRelative |
width of box in percent of distance between the current two posColumn values if we only plot one box&whiskers then JKQTPGraphBoxplotStyleMixin::boxWidthAbsolute in pt is used | |
int | maxColumn |
the column that contains the maximum-component of the datapoints | |
int | meanColumn |
the column that contains the median-component of the datapoints. | |
int | medianColumn |
the column that contains the median-component of the datapoints | |
int | medianConfidenceColumn |
the column that contains the confidence interval width of the median (e.g. 1.57*IQR/sqrt(n) ). This is used to draw a notch in the plot (if set) | |
int | minColumn |
the column that contains the minimum-component of the datapoints | |
int | percentile25Column |
the column that contains the 25% percentile-component of the datapoints | |
int | percentile75Column |
the column that contains the 75% percentile-component of the datapoints | |
int | posColumn |
the column that contains the x-component of the datapoints | |
DataSortOrder | sortData |
if !=Unsorted , the data is sorted before plotting | |
QVector< int > | sortedIndices |
this array contains the order of indices, in which to access the data in the data columns | |
bool | useRelativeBoxWidth |
if set true , boxplot widths are calculated automatically, based on boxWidthRelative, otherwise JKQTPGraphBoxplotStyleMixin::boxWidthAbsolute is used. | |
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 | |
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 vertical boxplots, optionally also a notched boxplot.
The x position is given in posColumn. All other data are given in the medianColumn, minColumn, maxColumn, percentile25Column and percentile75Column.
The different features of a boxplot are:
The example Example (JKQTPlotter): Styling different aspects of boxplots discusses different options to style boxplots:
This class also implements hitTest() in a way that displays all data of the boxplot in the tooltips:
If you also want to display outliers, as shown here with circles:
You need to add them as (x,y)-pairs to the datastore and add a separate JKQTPXYLineGraph that shows these. See Example (JKQTPlotter): Boxplots for details. Here is an example code-snippet:
JKQTPBoxplotVerticalGraph::JKQTPBoxplotVerticalGraph | ( | JKQTBasePlotter * | parent = nullptr | ) |
class constructor
JKQTPBoxplotVerticalGraph::JKQTPBoxplotVerticalGraph | ( | JKQTPlotter * | parent | ) |
class constructor
|
overridevirtual |
plots the graph to the plotter object specified as parent
Implements JKQTPPlotElement.
|
overridevirtual |
plots a key marker inside the specified rectangle rect
Implements JKQTPPlotElement.
|
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) Implements JKQTPPlotElement.
|
overridevirtual |
get the maximum and minimum y-value of the graph
The result is given in the two parameters which are call-by-reference parameters!
[out] | miny | minimal y-value used in the graph |
[out] | maxy | maximal y-value used in the graph |
[out] | smallestGreaterZero | the smalles y-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) Implements JKQTPPlotElement.