ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
QCPErrorBars Class Reference

A plottable that adds a set of error bars to other plottables. More...

#include <qcustomplot.h>

Inheritance diagram for QCPErrorBars:
Collaboration diagram for QCPErrorBars:

Public Types

enum  ErrorType { etKeyError , etValueError }
 

Public Member Functions

 QCPErrorBars (QCPAxis *keyAxis, QCPAxis *valueAxis)
 
virtual ~QCPErrorBars ()
 
QSharedPointer< QCPErrorBarsDataContainerdata () const
 
QCPAbstractPlottabledataPlottable () const
 
ErrorType errorType () const
 
double whiskerWidth () const
 
double symbolGap () const
 
void setData (QSharedPointer< QCPErrorBarsDataContainer > data)
 
void setData (const QVector< double > &error)
 
void setData (const QVector< double > &errorMinus, const QVector< double > &errorPlus)
 
void setDataPlottable (QCPAbstractPlottable *plottable)
 
void setErrorType (ErrorType type)
 
void setWhiskerWidth (double pixels)
 
void setSymbolGap (double pixels)
 
void addData (const QVector< double > &error)
 
void addData (const QVector< double > &errorMinus, const QVector< double > &errorPlus)
 
void addData (double error)
 
void addData (double errorMinus, double errorPlus)
 
virtual int dataCount () const
 
virtual double dataMainKey (int index) const
 
virtual double dataSortKey (int index) const
 
virtual double dataMainValue (int index) const
 
virtual QCPRange dataValueRange (int index) const
 
virtual QPointF dataPixelPosition (int index) const
 
virtual bool sortKeyIsMainKey () const
 
virtual QCPDataSelection selectTestRect (const QRectF &rect, bool onlySelectable) const
 
virtual int findBegin (double sortKey, bool expandedRange=true) const
 
virtual int findEnd (double sortKey, bool expandedRange=true) const
 
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const
 
virtual QCPPlottableInterface1Dinterface1D ()
 
- Public Member Functions inherited from QCPAbstractPlottable
 QCPAbstractPlottable (QCPAxis *keyAxis, QCPAxis *valueAxis)
 
virtual ~QCPAbstractPlottable ()
 
QString name () const
 
bool antialiasedFill () const
 
bool antialiasedScatters () const
 
QPen pen () const
 
QBrush brush () const
 
QCPAxiskeyAxis () const
 
QCPAxisvalueAxis () const
 
QCP::SelectionType selectable () const
 
bool selected () const
 
QCPDataSelection selection () const
 
QCPSelectionDecoratorselectionDecorator () const
 
void setName (const QString &name)
 
void setAntialiasedFill (bool enabled)
 
void setAntialiasedScatters (bool enabled)
 
void setPen (const QPen &pen)
 
void setBrush (const QBrush &brush)
 
void setKeyAxis (QCPAxis *axis)
 
void setValueAxis (QCPAxis *axis)
 
Q_SLOT void setSelectable (QCP::SelectionType selectable)
 
Q_SLOT void setSelection (QCPDataSelection selection)
 
void setSelectionDecorator (QCPSelectionDecorator *decorator)
 
void coordsToPixels (double key, double value, double &x, double &y) const
 
const QPointF coordsToPixels (double key, double value) const
 
void pixelsToCoords (double x, double y, double &key, double &value) const
 
void pixelsToCoords (const QPointF &pixelPos, double &key, double &value) const
 
void rescaleAxes (bool onlyEnlarge=false) const
 
void rescaleKeyAxis (bool onlyEnlarge=false) const
 
void rescaleValueAxis (bool onlyEnlarge=false, bool inKeyRange=false) const
 
bool addToLegend (QCPLegend *legend)
 
bool addToLegend ()
 
bool removeFromLegend (QCPLegend *legend) const
 
bool removeFromLegend () const
 
 QCPAbstractPlottable (QCPAxis *keyAxis, QCPAxis *valueAxis)
 
QString name () const
 
bool antialiasedFill () const
 
bool antialiasedScatters () const
 
bool antialiasedErrorBars () const
 
QPen pen () const
 
QPen selectedPen () const
 
QBrush brush () const
 
QBrush selectedBrush () const
 
QCPAxiskeyAxis () const
 
QCPAxisvalueAxis () const
 
bool selectable () const
 
bool selected () const
 
void setName (const QString &name)
 
void setAntialiasedFill (bool enabled)
 
void setAntialiasedScatters (bool enabled)
 
void setAntialiasedErrorBars (bool enabled)
 
void setPen (const QPen &pen)
 
void setSelectedPen (const QPen &pen)
 
void setBrush (const QBrush &brush)
 
void setSelectedBrush (const QBrush &brush)
 
void setKeyAxis (QCPAxis *axis)
 
void setValueAxis (QCPAxis *axis)
 
Q_SLOT void setSelectable (bool selectable)
 
Q_SLOT void setSelected (bool selected)
 
virtual void clearData ()=0
 
virtual bool addToLegend ()
 
virtual bool removeFromLegend () const
 
void rescaleAxes (bool onlyEnlarge=false) const
 
void rescaleKeyAxis (bool onlyEnlarge=false) const
 
void rescaleValueAxis (bool onlyEnlarge=false) const
 
- Public Member Functions inherited from QCPLayerable
 QCPLayerable (QCustomPlot *plot, QString targetLayer=QString(), QCPLayerable *parentLayerable=0)
 
virtual ~QCPLayerable ()
 
bool visible () const
 
QCustomPlotparentPlot () const
 
QCPLayerableparentLayerable () const
 
QCPLayerlayer () const
 
bool antialiased () const
 
void setVisible (bool on)
 
Q_SLOT bool setLayer (QCPLayer *layer)
 
bool setLayer (const QString &layerName)
 
void setAntialiased (bool enabled)
 
bool realVisibility () const
 
 QCPLayerable (QCustomPlot *plot, QString targetLayer=QString(), QCPLayerable *parentLayerable=0)
 
 ~QCPLayerable ()
 
bool visible () const
 
QCustomPlotparentPlot () const
 
QCPLayerableparentLayerable () const
 
QCPLayerlayer () const
 
bool antialiased () const
 
void setVisible (bool on)
 
Q_SLOT bool setLayer (QCPLayer *layer)
 
bool setLayer (const QString &layerName)
 
void setAntialiased (bool enabled)
 
bool realVisibility () const
 
- Public Member Functions inherited from QCPPlottableInterface1D
virtual ~QCPPlottableInterface1D ()
 

Protected Member Functions

virtual void draw (QCPPainter *painter)
 
virtual void drawLegendIcon (QCPPainter *painter, const QRectF &rect) const
 
virtual QCPRange getKeyRange (bool &foundRange, QCP::SignDomain inSignDomain=QCP::sdBoth) const
 
virtual QCPRange getValueRange (bool &foundRange, QCP::SignDomain inSignDomain=QCP::sdBoth, const QCPRange &inKeyRange=QCPRange()) const
 
void getErrorBarLines (QCPErrorBarsDataContainer::const_iterator it, QVector< QLineF > &backbones, QVector< QLineF > &whiskers) const
 
void getVisibleDataBounds (QCPErrorBarsDataContainer::const_iterator &begin, QCPErrorBarsDataContainer::const_iterator &end, const QCPDataRange &rangeRestriction) const
 
double pointDistance (const QPointF &pixelPoint, QCPErrorBarsDataContainer::const_iterator &closestData) const
 
void getDataSegments (QList< QCPDataRange > &selectedSegments, QList< QCPDataRange > &unselectedSegments) const
 
bool errorBarVisible (int index) const
 
bool rectIntersectsLine (const QRectF &pixelRect, const QLineF &line) const
 
- Protected Member Functions inherited from QCPAbstractPlottable
virtual QRect clipRect () const
 
virtual QCP::Interaction selectionCategory () const
 
void applyDefaultAntialiasingHint (QCPPainter *painter) const
 
virtual void selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
 
virtual void deselectEvent (bool *selectionStateChanged)
 
void applyFillAntialiasingHint (QCPPainter *painter) const
 
void applyScattersAntialiasingHint (QCPPainter *painter) const
 
virtual QRect clipRect () const
 
virtual QCP::Interaction selectionCategory () const
 
void applyDefaultAntialiasingHint (QCPPainter *painter) const
 
virtual void selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
 
virtual void deselectEvent (bool *selectionStateChanged)
 
virtual QCPRange getKeyRange (bool &foundRange, SignDomain inSignDomain=sdBoth) const =0
 
virtual QCPRange getValueRange (bool &foundRange, SignDomain inSignDomain=sdBoth) const =0
 
void coordsToPixels (double key, double value, double &x, double &y) const
 
const QPointF coordsToPixels (double key, double value) const
 
void pixelsToCoords (double x, double y, double &key, double &value) const
 
void pixelsToCoords (const QPointF &pixelPos, double &key, double &value) const
 
QPen mainPen () const
 
QBrush mainBrush () const
 
void applyFillAntialiasingHint (QCPPainter *painter) const
 
void applyScattersAntialiasingHint (QCPPainter *painter) const
 
void applyErrorBarsAntialiasingHint (QCPPainter *painter) const
 
double distSqrToLine (const QPointF &start, const QPointF &end, const QPointF &point) const
 
- Protected Member Functions inherited from QCPLayerable
virtual void parentPlotInitialized (QCustomPlot *parentPlot)
 
virtual void mousePressEvent (QMouseEvent *event, const QVariant &details)
 
virtual void mouseMoveEvent (QMouseEvent *event, const QPointF &startPos)
 
virtual void mouseReleaseEvent (QMouseEvent *event, const QPointF &startPos)
 
virtual void mouseDoubleClickEvent (QMouseEvent *event, const QVariant &details)
 
virtual void wheelEvent (QWheelEvent *event)
 
void initializeParentPlot (QCustomPlot *parentPlot)
 
void setParentLayerable (QCPLayerable *parentLayerable)
 
bool moveToLayer (QCPLayer *layer, bool prepend)
 
void applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const
 
virtual void parentPlotInitialized (QCustomPlot *parentPlot)
 
void initializeParentPlot (QCustomPlot *parentPlot)
 
void setParentLayerable (QCPLayerable *parentLayerable)
 
bool moveToLayer (QCPLayer *layer, bool prepend)
 
void applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const
 

Protected Attributes

QSharedPointer< QCPErrorBarsDataContainermDataContainer
 
QPointer< QCPAbstractPlottablemDataPlottable
 
ErrorType mErrorType
 
double mWhiskerWidth
 
double mSymbolGap
 
- Protected Attributes inherited from QCPAbstractPlottable
QString mName
 
bool mAntialiasedFill
 
bool mAntialiasedScatters
 
QPen mPen
 
QBrush mBrush
 
QPointer< QCPAxismKeyAxis
 
QPointer< QCPAxismValueAxis
 
QCP::SelectionType mSelectable
 
QCPDataSelection mSelection
 
QCPSelectionDecoratormSelectionDecorator
 
bool mAntialiasedErrorBars
 
QPen mSelectedPen
 
QBrush mSelectedBrush
 
bool mSelectable
 
bool mSelected
 
- Protected Attributes inherited from QCPLayerable
bool mVisible
 
QCustomPlotmParentPlot
 
QPointer< QCPLayerablemParentLayerable
 
QCPLayermLayer
 
bool mAntialiased
 

Additional Inherited Members

- Signals inherited from QCPAbstractPlottable
void selectionChanged (bool selected)
 
void selectionChanged (const QCPDataSelection &selection)
 
void selectableChanged (QCP::SelectionType selectable)
 
void selectionChanged (bool selected)
 
void selectableChanged (bool selectable)
 
- Signals inherited from QCPLayerable
void layerChanged (QCPLayer *newLayer)
 
void layerChanged (QCPLayer *newLayer)
 
- Protected Types inherited from QCPAbstractPlottable
enum  SignDomain { sdNegative , sdBoth , sdPositive }
 

Detailed Description

A plottable that adds a set of error bars to other plottables.

The QCPErrorBars plottable can be attached to other one-dimensional plottables (e.g. QCPGraph, QCPCurve, QCPBars, etc.) and equips them with error bars.

Use setDataPlottable to define for which plottable the QCPErrorBars shall display the error bars. The orientation of the error bars can be controlled with setErrorType.

By using setData, you can supply the actual error data, either as symmetric error or plus/minus asymmetric errors. QCPErrorBars only stores the error data. The absolute key/value position of each error bar will be adopted from the configured data plottable. The error data of the QCPErrorBars are associated one-to-one via their index to the data points of the data plottable. You can directly access and manipulate the error bar data via data.

Set either of the plus/minus errors to NaN (qQNaN() or std::numeric_limits<double>::quiet_NaN()) to not show the respective error bar on the data point at that index.

Changing the appearance

The appearance of the error bars is defined by the pen (setPen), and the width of the whiskers (setWhiskerWidth). Further, the error bar backbones may leave a gap around the data point center to prevent that error bars are drawn too close to or even through scatter points. This gap size can be controlled via setSymbolGap.

Definition at line 7095 of file qcustomplot.h.

Member Enumeration Documentation

◆ ErrorType

Defines in which orientation the error bars shall appear. If your data needs both error dimensions, create two QCPErrorBars with different ErrorType.

See also
setErrorType
Enumerator
etKeyError 

The errors are for the key dimension (bars appear parallel to the key axis)

etValueError 

The errors are for the value dimension (bars appear parallel to the value axis)

Definition at line 7115 of file qcustomplot.h.

Constructor & Destructor Documentation

◆ QCPErrorBars()

QCPErrorBars::QCPErrorBars ( QCPAxis keyAxis,
QCPAxis valueAxis 
)
explicit

Constructs an error bars plottable which uses keyAxis as its key axis ("x") and valueAxis as its value axis ("y"). keyAxis and valueAxis must reside in the same QCustomPlot instance and not have the same orientation. If either of these restrictions is violated, a corresponding message is printed to the debug output (qDebug), the construction is not aborted, though.

It is also important that the keyAxis and valueAxis are the same for the error bars plottable and the data plottable that the error bars shall be drawn on (setDataPlottable).

The created QCPErrorBars is automatically registered with the QCustomPlot instance inferred from keyAxis. This QCustomPlot instance takes ownership of the QCPErrorBars, so do not delete it manually but use QCustomPlot::removePlottable() instead.

Definition at line 29087 of file qcustomplot.cpp.

References ecvColor::black(), QCPAbstractPlottable::setBrush(), and QCPAbstractPlottable::setPen().

◆ ~QCPErrorBars()

QCPErrorBars::~QCPErrorBars ( )
virtual

Definition at line 29097 of file qcustomplot.cpp.

Member Function Documentation

◆ addData() [1/4]

void QCPErrorBars::addData ( const QVector< double > &  error)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Adds symmetrical error values as specified in error. The errors will be associated one-to-one by the data point index to the associated data plottable (setDataPlottable).

You can directly access and manipulate the error bar data via data.

See also
setData

Definition at line 29218 of file qcustomplot.cpp.

Referenced by setData().

◆ addData() [2/4]

void QCPErrorBars::addData ( const QVector< double > &  errorMinus,
const QVector< double > &  errorPlus 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Adds asymmetrical errors as specified in errorMinus and errorPlus. The errors will be associated one-to-one by the data point index to the associated data plottable (setDataPlottable).

You can directly access and manipulate the error bar data via data.

See also
setData

Definition at line 29232 of file qcustomplot.cpp.

References mDataContainer.

◆ addData() [3/4]

void QCPErrorBars::addData ( double  error)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Adds a single symmetrical error bar as specified in error. The errors will be associated one-to-one by the data point index to the associated data plottable (setDataPlottable).

You can directly access and manipulate the error bar data via data.

See also
setData

Definition at line 29255 of file qcustomplot.cpp.

References mDataContainer.

◆ addData() [4/4]

void QCPErrorBars::addData ( double  errorMinus,
double  errorPlus 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Adds a single asymmetrical error bar as specified in errorMinus and errorPlus. The errors will be associated one-to-one by the data point index to the associated data plottable (setDataPlottable).

You can directly access and manipulate the error bar data via data.

See also
setData

Definition at line 29269 of file qcustomplot.cpp.

References mDataContainer.

◆ data()

QSharedPointer< QCPErrorBarsDataContainer > QCPErrorBars::data ( ) const
inline

Returns a shared pointer to the internal data storage of type QCPErrorBarsDataContainer. You may use it to directly manipulate the error values, which may be more convenient and faster than using the regular setData methods.

Definition at line 7127 of file qcustomplot.h.

Referenced by setData().

◆ dataCount()

int QCPErrorBars::dataCount ( ) const
virtual

Returns the number of data points of the plottable.

Implements QCPPlottableInterface1D.

Definition at line 29274 of file qcustomplot.cpp.

References mDataContainer.

Referenced by getDataSegments(), pointDistance(), and selectTestRect().

◆ dataMainKey()

double QCPErrorBars::dataMainKey ( int  index) const
virtual

Returns the main key of the data point at the given index.

What the main key is, is defined by the plottable's data type. See the QCPDataContainer DataType documentation for details about this naming convention.

Implements QCPPlottableInterface1D.

Definition at line 29277 of file qcustomplot.cpp.

References mDataPlottable.

◆ dataMainValue()

double QCPErrorBars::dataMainValue ( int  index) const
virtual

0

Returns the main value of the data point at the given index.

What the main value is, is defined by the plottable's data type. See the QCPDataContainer DataType documentation for details about this naming convention.

Implements QCPPlottableInterface1D.

Definition at line 29295 of file qcustomplot.cpp.

References mDataPlottable.

◆ dataPixelPosition()

QPointF QCPErrorBars::dataPixelPosition ( int  index) const
virtual

const = 0

Returns the pixel position on the widget surface at which the data point at the given index appears.

Usually this corresponds to the point of dataMainKey/ dataMainValue, in pixel coordinates. However, depending on the plottable, this might be a different apparent position than just a coord-to-pixel transform of those values. For example, QCPBars apparent data values can be shifted depending on their stacking, bar grouping or configured base value.

Implements QCPPlottableInterface1D.

Definition at line 29321 of file qcustomplot.cpp.

References mDataPlottable.

◆ dataPlottable()

QCPAbstractPlottable* QCPErrorBars::dataPlottable ( ) const
inline

Definition at line 7130 of file qcustomplot.h.

◆ dataSortKey()

double QCPErrorBars::dataSortKey ( int  index) const
virtual

Returns the sort key of the data point at the given index.

What the sort key is, is defined by the plottable's data type. See the QCPDataContainer DataType documentation for details about this naming convention.

Implements QCPPlottableInterface1D.

Definition at line 29286 of file qcustomplot.cpp.

References mDataPlottable.

◆ dataValueRange()

QCPRange QCPErrorBars::dataValueRange ( int  index) const
virtual

const = 0

Returns the value range of the data point at the given index.

What the value range is, is defined by the plottable's data type. See the QCPDataContainer DataType documentation for details about this naming convention.

Implements QCPPlottableInterface1D.

Definition at line 29304 of file qcustomplot.cpp.

References etValueError, mDataContainer, mDataPlottable, mErrorType, and size.

◆ draw()

◆ drawLegendIcon()

void QCPErrorBars::drawLegendIcon ( QCPPainter painter,
const QRectF &  rect 
) const
protectedvirtual

◆ errorBarVisible()

bool QCPErrorBars::errorBarVisible ( int  index) const
protected

◆ errorType()

ErrorType QCPErrorBars::errorType ( ) const
inline

Definition at line 7133 of file qcustomplot.h.

◆ findBegin()

int QCPErrorBars::findBegin ( double  sortKey,
bool  expandedRange = true 
) const
virtual

Returns the index of the data point with a (sort-)key that is equal to, just below, or just above sortKey. If expandedRange is true, the data point just below sortKey will be considered, otherwise the one just above.

This can be used in conjunction with findEnd to iterate over data points within a given key range, including or excluding the bounding data points that are just beyond the specified range.

If expandedRange is true but there are no data points below sortKey, 0 is returned.

If the container is empty, returns 0 (in that case, findEnd will also return 0, so a loop using these methods will not iterate over the index 0).

See also
findEnd, QCPDataContainer::findBegin

Implements QCPPlottableInterface1D.

Definition at line 29376 of file qcustomplot.cpp.

References mDataContainer, and mDataPlottable.

Referenced by getValueRange().

◆ findEnd()

int QCPErrorBars::findEnd ( double  sortKey,
bool  expandedRange = true 
) const
virtual

Returns the index one after the data point with a (sort-)key that is equal to, just above, or just below sortKey. If expandedRange is true, the data point just above sortKey will be considered, otherwise the one just below.

This can be used in conjunction with findBegin to iterate over data points within a given key range, including the bounding data points that are just below and above the specified range.

If expandedRange is true but there are no data points above sortKey, the index just above the highest data point is returned.

If the container is empty, returns 0.

See also
findBegin, QCPDataContainer::findEnd

Implements QCPPlottableInterface1D.

Definition at line 29390 of file qcustomplot.cpp.

References mDataContainer, and mDataPlottable.

Referenced by getValueRange().

◆ getDataSegments()

void QCPErrorBars::getDataSegments ( QList< QCPDataRange > &  selectedSegments,
QList< QCPDataRange > &  unselectedSegments 
) const
protected

◆ getErrorBarLines()

void QCPErrorBars::getErrorBarLines ( QCPErrorBarsDataContainer::const_iterator  it,
QVector< QLineF > &  backbones,
QVector< QLineF > &  whiskers 
) const
protected

◆ getKeyRange()

QCPRange QCPErrorBars::getKeyRange ( bool &  foundRange,
QCP::SignDomain  inSignDomain = QCP::sdBoth 
) const
protectedvirtual

Returns the coordinate range that all data in this plottable span in the key axis dimension. For logarithmic plots, one can set inSignDomain to either QCP::sdNegative or QCP::sdPositive in order to restrict the returned range to that sign domain. E.g. when only negative range is wanted, set inSignDomain to QCP::sdNegative and all positive points will be ignored for range calculation. For no restriction, just set inSignDomain to QCP::sdBoth (default). foundRange is an output parameter that indicates whether a range could be found or not. If this is false, you shouldn't use the returned range (e.g. no points in data).

Note that foundRange is not the same as QCPRange::validRange, since the range returned by this function may have size zero (e.g. when there is only one data point). In this case foundRange would return true, but the returned range is not a valid range in terms of QCPRange::validRange.

See also
rescaleAxes, getValueRange

Implements QCPAbstractPlottable.

Definition at line 29527 of file qcustomplot.cpp.

References etValueError, QCPRange::lower, mDataContainer, mDataPlottable, mErrorType, QCP::sdBoth, QCP::sdNegative, QCP::sdPositive, and QCPRange::upper.

◆ getValueRange()

QCPRange QCPErrorBars::getValueRange ( bool &  foundRange,
QCP::SignDomain  inSignDomain = QCP::sdBoth,
const QCPRange inKeyRange = QCPRange() 
) const
protectedvirtual

Returns the coordinate range that the data points in the specified key range (inKeyRange) span in the value axis dimension. For logarithmic plots, one can set inSignDomain to either QCP::sdNegative or QCP::sdPositive in order to restrict the returned range to that sign domain. E.g. when only negative range is wanted, set inSignDomain to QCP::sdNegative and all positive points will be ignored for range calculation. For no restriction, just set inSignDomain to QCP::sdBoth (default). foundRange is an output parameter that indicates whether a range could be found or not. If this is false, you shouldn't use the returned range (e.g. no points in data).

If inKeyRange has both lower and upper bound set to zero (is equal to QCPRange()), all data points are considered, without any restriction on the keys.

Note that foundRange is not the same as QCPRange::validRange, since the range returned by this function may have size zero (e.g. when there is only one data point). In this case foundRange would return true, but the returned range is not a valid range in terms of QCPRange::validRange.

See also
rescaleAxes, getKeyRange

Implements QCPAbstractPlottable.

Definition at line 29600 of file qcustomplot.cpp.

References etValueError, findBegin(), findEnd(), QCPRange::lower, mDataContainer, mDataPlottable, mErrorType, QCP::sdBoth, QCP::sdNegative, QCP::sdPositive, and QCPRange::upper.

◆ getVisibleDataBounds()

void QCPErrorBars::getVisibleDataBounds ( QCPErrorBarsDataContainer::const_iterator &  begin,
QCPErrorBarsDataContainer::const_iterator &  end,
const QCPDataRange rangeRestriction 
) const
protected

◆ interface1D()

virtual QCPPlottableInterface1D* QCPErrorBars::interface1D ( )
inlinevirtual

If this plottable is a one-dimensional plottable, i.e. it implements the QCPPlottableInterface1D, returns the this pointer with that type. Otherwise (e.g. in the case of a QCPColorMap) returns zero.

You can use this method to gain read access to data coordinates while holding a pointer to the abstract base class only.

Reimplemented from QCPAbstractPlottable.

Definition at line 7173 of file qcustomplot.h.

◆ pointDistance()

double QCPErrorBars::pointDistance ( const QPointF &  pixelPoint,
QCPErrorBarsDataContainer::const_iterator &  closestData 
) const
protected

◆ rectIntersectsLine()

bool QCPErrorBars::rectIntersectsLine ( const QRectF &  pixelRect,
const QLineF &  line 
) const
protected

Definition at line 29962 of file qcustomplot.cpp.

Referenced by selectTestRect().

◆ selectTest()

double QCPErrorBars::selectTest ( const QPointF &  pos,
bool  onlySelectable,
QVariant *  details = 0 
) const
virtual

Implements a selectTest specific to this plottable's point geometry.

If details is not 0, it will be set to a QCPDataSelection, describing the closest data point to pos.

\seebaseclassmethod QCPAbstractPlottable::selectTest

Implements QCPAbstractPlottable.

Definition at line 29411 of file qcustomplot.cpp.

References mDataContainer, mDataPlottable, QCPAbstractPlottable::mKeyAxis, QCPAbstractPlottable::mSelectable, QCPAbstractPlottable::mValueAxis, pointDistance(), result, and QCP::stNone.

◆ selectTestRect()

QCPDataSelection QCPErrorBars::selectTestRect ( const QRectF &  rect,
bool  onlySelectable 
) const
virtual

Returns a data selection containing all the data points of this plottable which are contained (or hit by) rect. This is used mainly in the selection rect interaction for data selection (data selectionmechanism").

If onlySelectable is true, an empty QCPDataSelection is returned if this plottable is not selectable (i.e. if QCPAbstractPlottable::setSelectable is QCP::stNone).

Note
rect must be a normalized rect (positive or zero width and height). This is especially important when using the rect of QCPSelectionRect::accepted, which is not necessarily normalized. Use QRect::normalized() when passing a rect which might not be normalized.

Implements QCPPlottableInterface1D.

Definition at line 29342 of file qcustomplot.cpp.

References dataCount(), getErrorBarLines(), getVisibleDataBounds(), mDataContainer, mDataPlottable, QCPAbstractPlottable::mKeyAxis, QCPAbstractPlottable::mSelectable, QCPAbstractPlottable::mValueAxis, rectIntersectsLine(), result, and QCP::stNone.

◆ setData() [1/3]

void QCPErrorBars::setData ( const QVector< double > &  error)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Sets symmetrical error values as specified in error. The errors will be associated one-to-one by the data point index to the associated data plottable (setDataPlottable).

You can directly access and manipulate the error bar data via data.

See also
addData

Definition at line 29133 of file qcustomplot.cpp.

References addData(), and mDataContainer.

◆ setData() [2/3]

void QCPErrorBars::setData ( const QVector< double > &  errorMinus,
const QVector< double > &  errorPlus 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Sets asymmetrical errors as specified in errorMinus and errorPlus. The errors will be associated one-to-one by the data point index to the associated data plottable (setDataPlottable).

You can directly access and manipulate the error bar data via data.

See also
addData

Definition at line 29148 of file qcustomplot.cpp.

References addData(), and mDataContainer.

◆ setData() [3/3]

void QCPErrorBars::setData ( QSharedPointer< QCPErrorBarsDataContainer data)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Replaces the current data container with the provided data container.

Since a QSharedPointer is used, multiple QCPErrorBars instances may share the same data container safely. Modifying the data in the container will then affect all QCPErrorBars instances that share the container. Sharing can be achieved by simply exchanging the data containers wrapped in shared pointers:

qcperrorbars-datasharing-1

If you do not wish to share containers, but create a copy from an existing container, assign the data containers directly:

(This uses different notation compared with other plottables, because the QCPErrorBars uses a QVector<QCPErrorBarsData> as its data container, instead of a QCPDataContainer.)

See also
addData

Definition at line 29119 of file qcustomplot.cpp.

References data(), and mDataContainer.

Referenced by WolmanCustomPlot::WolmanCustomPlot().

◆ setDataPlottable()

void QCPErrorBars::setDataPlottable ( QCPAbstractPlottable plottable)

Sets the data plottable to which the error bars will be applied. The error values specified e.g. via setData will be associated one-to-one by the data point index to the data points of plottable. This means that the error bars will adopt the key/value coordinates of the data point with the same index.

The passed plottable must be a one-dimensional plottable, i.e. it must implement the QCPPlottableInterface1D. Further, it must not be a QCPErrorBars instance itself. If either of these restrictions is violated, a corresponding qDebug output is generated, and the data plottable of this QCPErrorBars instance is set to zero.

For proper display, care must also be taken that the key and value axes of the plottable match those configured for this QCPErrorBars instance.

Definition at line 29170 of file qcustomplot.cpp.

References QCPAbstractPlottable::interface1D(), and mDataPlottable.

Referenced by WolmanCustomPlot::WolmanCustomPlot().

◆ setErrorType()

void QCPErrorBars::setErrorType ( ErrorType  type)

Sets in which orientation the error bars shall appear on the data points. If your data needs both error dimensions, create two QCPErrorBars with different type.

Definition at line 29193 of file qcustomplot.cpp.

References mErrorType, and type.

Referenced by WolmanCustomPlot::WolmanCustomPlot().

◆ setSymbolGap()

void QCPErrorBars::setSymbolGap ( double  pixels)

Sets the gap diameter around the data points that will be left out when drawing the error bar backbones. This gap prevents that error bars are drawn too close to or even through scatter points.

Definition at line 29206 of file qcustomplot.cpp.

References mSymbolGap.

◆ setWhiskerWidth()

void QCPErrorBars::setWhiskerWidth ( double  pixels)

Sets the width of the whiskers (the short bars at the end of the actual error bar backbones) to pixels.

Definition at line 29199 of file qcustomplot.cpp.

References mWhiskerWidth.

◆ sortKeyIsMainKey()

bool QCPErrorBars::sortKeyIsMainKey ( ) const
virtual

Returns whether the sort key (dataSortKey) is identical to the main key (dataMainKey).

What the sort and main keys are, is defined by the plottable's data type. See the QCPDataContainer DataType documentation for details about this naming convention.

Implements QCPPlottableInterface1D.

Definition at line 29330 of file qcustomplot.cpp.

References mDataPlottable.

◆ symbolGap()

double QCPErrorBars::symbolGap ( ) const
inline

Definition at line 7135 of file qcustomplot.h.

Referenced by getErrorBarLines().

◆ whiskerWidth()

double QCPErrorBars::whiskerWidth ( ) const
inline

Definition at line 7134 of file qcustomplot.h.

Member Data Documentation

◆ mDataContainer

◆ mDataPlottable

◆ mErrorType

ErrorType QCPErrorBars::mErrorType
protected

◆ mSymbolGap

double QCPErrorBars::mSymbolGap
protected

Definition at line 7183 of file qcustomplot.h.

Referenced by getErrorBarLines(), and setSymbolGap().

◆ mWhiskerWidth

double QCPErrorBars::mWhiskerWidth
protected

Definition at line 7182 of file qcustomplot.h.

Referenced by errorBarVisible(), getErrorBarLines(), and setWhiskerWidth().


The documentation for this class was generated from the following files: