QwtPlotIntervalCurve Class Reference

QwtPlotIntervalCurve represents a series of samples, where each value is associated with an interval ( ). More...

`#include <qwt_plot_intervalcurve.h>`

Inheritance diagram for QwtPlotIntervalCurve:

## Public Types

enum | CurveStyle { NoCurve , Tube , UserCurve = 100 }
| Curve styles. The default setting is QwtPlotIntervalCurve::Tube. More...
enum | PaintAttribute { ClipPolygons = 0x01 , ClipSymbol = 0x02 }
typedef QFlags< PaintAttribute > | PaintAttributes
Public Types inherited from QwtPlotItem

enum

RttiValues {
Rtti_PlotItem = 0 , Rtti_PlotGrid , Rtti_PlotScale , Rtti_PlotLegend ,
Rtti_PlotMarker , Rtti_PlotCurve , Rtti_PlotSpectroCurve , Rtti_PlotIntervalCurve ,
Rtti_PlotHistogram , Rtti_PlotSpectrogram , Rtti_PlotGraphic , Rtti_PlotTradingCurve ,
Rtti_PlotBarChart , Rtti_PlotMultiBarChart , Rtti_PlotShape , Rtti_PlotTextLabel ,
Rtti_PlotZone , Rtti_PlotVectorField , Rtti_PlotUserItem = 1000
}

| Runtime type information. More...
enum | ItemAttribute { Legend = 0x01 , AutoScale = 0x02 , Margins = 0x04 }
| Plot Item Attributes. More...
enum | ItemInterest { ScaleInterest = 0x01 , LegendInterest = 0x02 }
| Plot Item Interests. More...
enum | RenderHint { RenderAntialiased = 0x1 }
| Render hints. More...
typedef QFlags< ItemAttribute > | ItemAttributes
typedef QFlags< ItemInterest > | ItemInterests
typedef QFlags< RenderHint > | RenderHints

## Public Member Functions

| QwtPlotIntervalCurve (const QString &title=QString())
| QwtPlotIntervalCurve (const QwtText &title)
virtual | ~QwtPlotIntervalCurve ()
| Destructor.
virtual int | rtti () const override
void | setPaintAttribute (PaintAttribute, bool on=true)
bool | testPaintAttribute (PaintAttribute) const
void | setSamples (const QVector< QwtIntervalSample > &)
void | setSamples (QwtSeriesData< QwtIntervalSample > *)
void | setPen (const QColor &, qreal width=0.0, Qt::PenStyle=Qt::SolidLine)
void | setPen (const QPen &)
| Assign a pen. More...
const QPen & | pen () const
void | setBrush (const QBrush &)
const QBrush & | brush () const
void | setStyle (CurveStyle style)
CurveStyle | style () const
void | setSymbol (const QwtIntervalSymbol *)
const QwtIntervalSymbol * | symbol () const
virtual void | drawSeries (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const override
virtual QRectF | boundingRect () const override
virtual QwtGraphic | legendIcon (int index, const QSizeF &) const override
Public Member Functions inherited from QwtPlotSeriesItem
| QwtPlotSeriesItem (const QString &title=QString())
| QwtPlotSeriesItem (const QwtText &title)
virtual | ~QwtPlotSeriesItem ()
| Destructor.
void | setOrientation (Qt::Orientation)
Qt::Orientation | orientation () const
virtual void | draw (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect) const override
| Draw the complete series. More...
virtual void | updateScaleDiv (const QwtScaleDiv &, const QwtScaleDiv &) override
| Update the item to changes of the axes scale division. More...
Public Member Functions inherited from QwtPlotItem
| QwtPlotItem ()
| QwtPlotItem (const QString &title)
| QwtPlotItem (const QwtText &title)
virtual | ~QwtPlotItem ()
| Destroy the QwtPlotItem.
void | attach (QwtPlot *plot)
| Attach the item to a plot. More...
void | detach ()
| This method detaches a QwtPlotItem from any QwtPlot it has been associated with. More...
QwtPlot * | plot () const
| Return attached plot.
void | setTitle (const QString &title)
void | setTitle (const QwtText &title)
const QwtText & | title () const
void | setItemAttribute (ItemAttribute, bool on=true)
bool | testItemAttribute (ItemAttribute) const
void | setItemInterest (ItemInterest, bool on=true)
bool | testItemInterest (ItemInterest) const
void | setRenderHint (RenderHint, bool on=true)
bool | testRenderHint (RenderHint) const
void | setRenderThreadCount (uint numThreads)
uint | renderThreadCount () const
void | setLegendIconSize (const QSize &)
QSize | legendIconSize () const
double | z () const
void | setZ (double z)
| Set the z value. More...
void | show ()
| Show the item.
void | hide ()
| Hide the item.
virtual void | setVisible (bool)
bool | isVisible () const
void | setAxes (QwtAxisId xAxis, QwtAxisId yAxis)
void | setXAxis (QwtAxisId)
QwtAxisId | xAxis () const
| Return xAxis.
void | setYAxis (QwtAxisId)
QwtAxisId | yAxis () const
| Return yAxis.
virtual void | itemChanged ()
virtual void | legendChanged ()
virtual void | getCanvasMarginHint (const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, double &left, double &top, double &right, double &bottom) const
| Calculate a hint for the canvas margin. More...
virtual void | updateLegend (const QwtPlotItem *, const QList< QwtLegendData > &)
| Update the item to changes of the legend info. More...
QRectF | scaleRect (const QwtScaleMap &, const QwtScaleMap &) const
| Calculate the bounding scale rectangle of 2 maps. More...
QRectF | paintRect (const QwtScaleMap &, const QwtScaleMap &) const
| Calculate the bounding paint rectangle of 2 maps. More...
virtual QList< QwtLegendData > | legendData () const
| Return all information, that is needed to represent the item on the legend. More...
Public Member Functions inherited from QwtAbstractSeriesStore
virtual | ~QwtAbstractSeriesStore ()
| Destructor.
Public Member Functions inherited from QwtSeriesStore< QwtIntervalSample >
| QwtSeriesStore ()
| Constructor The store contains no series.
| ~QwtSeriesStore ()
| Destructor.
void | setData (QwtSeriesData< QwtIntervalSample > *series)
QwtSeriesData< QwtIntervalSample > * | data ()
const QwtSeriesData< QwtIntervalSample > * | data () const
QwtIntervalSample | sample (int index) const
virtual size_t | dataSize () const override
virtual QRectF | dataRect () const override
virtual void | setRectOfInterest (const QRectF &rect) override
QwtSeriesData< QwtIntervalSample > * | swapData (QwtSeriesData< QwtIntervalSample > *series)

## Protected Member Functions

void | init ()
| Initialize internal members.
virtual void | drawTube (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const
virtual void | drawSymbols (QPainter *, const QwtIntervalSymbol &, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const
Protected Member Functions inherited from QwtPlotSeriesItem
virtual void | dataChanged () override
| dataChanged() indicates, that the series has been changed.
Protected Member Functions inherited from QwtPlotItem
QwtGraphic | defaultIcon (const QBrush &, const QSizeF &) const
| Return a default icon from a brush. More...

## Detailed Description

QwtPlotIntervalCurve represents a series of samples, where each value is associated with an interval ( ).

The representation depends on the style() and an optional symbol() that is displayed for each interval. QwtPlotIntervalCurve might be used to display error bars or the area between 2 curves.

Definition at line 27 of file qwt_plot_intervalcurve.h.

## Member Typedef Documentation

## PaintAttributes

typedef QFlags<PaintAttribute > QwtPlotIntervalCurve::PaintAttributes

An ORed combination of PaintAttribute values.

Definition at line 77 of file qwt_plot_intervalcurve.h.

## Member Enumeration Documentation

## CurveStyle

enum QwtPlotIntervalCurve::CurveStyle

Curve styles. The default setting is QwtPlotIntervalCurve::Tube.

See also
  setStyle(), style()

Enumerator
NoCurve | Don't draw a curve. Note: This doesn't affect the symbols.
Tube | Build 2 curves from the upper and lower limits of the intervals and draw them with the pen(). The area between the curves is filled with the brush().
UserCurve | Styles >= QwtPlotIntervalCurve::UserCurve are reserved for derived classes that overload drawSeries() with additional application specific curve types.

Definition at line 38 of file qwt_plot_intervalcurve.h.

## PaintAttribute

enum QwtPlotIntervalCurve::PaintAttribute

Attributes to modify the drawing algorithm.

See also
  setPaintAttribute(), testPaintAttribute()

Enumerator
ClipPolygons | Clip polygons before painting them. In situations, where points are far outside the visible area (f.e when zooming deep) this might be a substantial improvement for the painting performance.
ClipSymbol | Check if a symbol is on the plot canvas before painting it.

Definition at line 64 of file qwt_plot_intervalcurve.h.

## Constructor & Destructor Documentation

## QwtPlotIntervalCurve() [1/2]

QwtPlotIntervalCurve::QwtPlotIntervalCurve | ( | const QString & | title = `QString()` | ) |

explicit

Constructor

Parameters

  title | Title of the curve

Definition at line 90 of file qwt_plot_intervalcurve.cpp.

## QwtPlotIntervalCurve() [2/2]

QwtPlotIntervalCurve::QwtPlotIntervalCurve | ( | const QwtText & | title | ) |

explicit

Constructor

Parameters

  title | Title of the curve

Definition at line 80 of file qwt_plot_intervalcurve.cpp.

## Member Function Documentation

## boundingRect()

QRectF QwtPlotIntervalCurve::boundingRect | ( |  | ) | const

override virtual

Returns
  Bounding rectangle of all samples. For an empty series the rectangle is invalid.

Reimplemented from QwtPlotSeriesItem.

Definition at line 300 of file qwt_plot_intervalcurve.cpp.

## brush()

const QBrush & QwtPlotIntervalCurve::brush | ( |  | ) | const

Returns
  Brush used to fill the area in Tube style()

See also
  setBrush(), setStyle(), CurveStyle

Definition at line 291 of file qwt_plot_intervalcurve.cpp.

## drawSeries()

void QwtPlotIntervalCurve::drawSeries | ( | QPainter * | painter,
|  | const QwtScaleMap & | xMap,
|  | const QwtScaleMap & | yMap,
|  | const QRectF & | canvasRect,
|  | int | from,
|  | int | to
| ) |  | const

override virtual

Draw a subset of the samples

Parameters

  painter | Painter
  xMap | Maps x-values into pixel coordinates.
  yMap | Maps y-values into pixel coordinates.
  canvasRect | Contents rectangle of the canvas
  from | Index of the first sample to be painted
  to | Index of the last sample to be painted. If to < 0 the series will be painted to its last sample.

See also
  drawTube(), drawSymbols()

Implements QwtPlotSeriesItem.

Definition at line 322 of file qwt_plot_intervalcurve.cpp.

## drawSymbols()

void QwtPlotIntervalCurve::drawSymbols | ( | QPainter * | painter,
|  | const QwtIntervalSymbol & | symbol,
|  | const QwtScaleMap & | xMap,
|  | const QwtScaleMap & | yMap,
|  | const QRectF & | canvasRect,
|  | int | from,
|  | int | to
| ) |  | const

protected virtual

Draw symbols for a subset of the samples

Parameters

  painter | Painter
  symbol | Interval symbol
  xMap | x map
  yMap | y map
  canvasRect | Contents rectangle of the canvas
  from | Index of the first sample to be painted
  to | Index of the last sample to be painted

See also
  setSymbol(), drawSeries(), drawTube()

Definition at line 487 of file qwt_plot_intervalcurve.cpp.

## drawTube()

void QwtPlotIntervalCurve::drawTube | ( | QPainter * | painter,
|  | const QwtScaleMap & | xMap,
|  | const QwtScaleMap & | yMap,
|  | const QRectF & | canvasRect,
|  | int | from,
|  | int | to
| ) |  | const

protected virtual

Draw a tube

Builds 2 curves from the upper and lower limits of the intervals and draws them with the pen(). The area between the curves is filled with the brush().

Parameters

  painter | Painter
  xMap | Maps x-values into pixel coordinates.
  yMap | Maps y-values into pixel coordinates.
  canvasRect | Contents rectangle of the canvas
  from | Index of the first sample to be painted
  to | Index of the last sample to be painted. If to < 0 the series will be painted to its last sample.

See also
  drawSeries(), drawSymbols()

Definition at line 371 of file qwt_plot_intervalcurve.cpp.

## legendIcon()

QwtGraphic QwtPlotIntervalCurve::legendIcon | ( | int | index,
|  | const QSizeF & | size
| ) |  | const

override virtual

Returns
  Icon for the legend

In case of Tube style() the icon is a plain rectangle filled with the brush(). If a symbol is assigned it is scaled to size.

Parameters

  index | Index of the legend entry ( ignored as there is only one )
  size | Icon size

See also
  QwtPlotItem::setLegendIconSize(), QwtPlotItem::legendData()

Reimplemented from QwtPlotItem.

Definition at line 554 of file qwt_plot_intervalcurve.cpp.

## pen()

const QPen & QwtPlotIntervalCurve::pen | ( |  | ) | const

Returns
  Pen used to draw the lines

See also
  setPen(), brush()

Definition at line 263 of file qwt_plot_intervalcurve.cpp.

## rtti()

int QwtPlotIntervalCurve::rtti | ( |  | ) | const

override virtual

Returns
  QwtPlotItem::Rtti_PlotIntervalCurve

Reimplemented from QwtPlotItem.

Definition at line 115 of file qwt_plot_intervalcurve.cpp.

## setBrush()

void QwtPlotIntervalCurve::setBrush | ( | const QBrush & | brush | ) |

Assign a brush.

The brush is used to fill the area in Tube style().

Parameters

  brush | Brush

See also
  brush(), pen(), setStyle(), CurveStyle

Definition at line 276 of file qwt_plot_intervalcurve.cpp.

## setPaintAttribute()

void QwtPlotIntervalCurve::setPaintAttribute | ( | PaintAttribute | attribute,
|  | bool | on = `true`
| ) |  |

Specify an attribute how to draw the curve

Parameters

  attribute | Paint attribute
  on | On/Off

See also
  testPaintAttribute()

Definition at line 127 of file qwt_plot_intervalcurve.cpp.

## setPen() [1/2]

void QwtPlotIntervalCurve::setPen | ( | const QColor & | color,
|  | qreal | width = `0.0`,
|  | Qt::PenStyle | style = `Qt::SolidLine`
| ) |  |

Build and assign a pen

In Qt5 the default pen width is 1.0 ( 0.0 in Qt4 ) what makes it non cosmetic ( see QPen::isCosmetic() ). This method has been introduced to hide this incompatibility.

Parameters

  color | Pen color
  width | Pen width
  style | Pen style

See also
  pen(), brush()

Definition at line 238 of file qwt_plot_intervalcurve.cpp.

## setPen() [2/2]

void QwtPlotIntervalCurve::setPen | ( | const QPen & | pen | ) |

Assign a pen.

Parameters

  pen | New pen

See also
  pen(), brush()

Definition at line 248 of file qwt_plot_intervalcurve.cpp.

## setSamples() [1/2]

void QwtPlotIntervalCurve::setSamples | ( | const QVector< QwtIntervalSample > & | samples | ) |

Initialize data with an array of samples.

Parameters

  samples | Vector of samples

Definition at line 150 of file qwt_plot_intervalcurve.cpp.

## setSamples() [2/2]

void QwtPlotIntervalCurve::setSamples | ( | QwtSeriesData< QwtIntervalSample > * | data | ) |

Assign a series of samples

setSamples() is just a wrapper for setData() without any additional value - beside that it is easier to find for the developer.

Parameters

  data | Data

Warning
  The item takes ownership of the data object, deleting it when its not used anymore.

Definition at line 166 of file qwt_plot_intervalcurve.cpp.

## setStyle()

void QwtPlotIntervalCurve::setStyle | ( | CurveStyle | style | ) |

Set the curve's drawing style

Parameters

  style | Curve style

See also
  CurveStyle, style()

Definition at line 178 of file qwt_plot_intervalcurve.cpp.

## setSymbol()

void QwtPlotIntervalCurve::setSymbol | ( | const QwtIntervalSymbol * | symbol | ) |

Assign a symbol.

Parameters

  symbol | Symbol

See also
  symbol()

Definition at line 204 of file qwt_plot_intervalcurve.cpp.

## style()

QwtPlotIntervalCurve::CurveStyle QwtPlotIntervalCurve::style | ( |  | ) | const

Returns
  Style of the curve

See also
  setStyle()

Definition at line 193 of file qwt_plot_intervalcurve.cpp.

## symbol()

const QwtIntervalSymbol * QwtPlotIntervalCurve::symbol | ( |  | ) | const

Returns
  Current symbol or NULL, when no symbol has been assigned

See also
  setSymbol()

Definition at line 220 of file qwt_plot_intervalcurve.cpp.

## testPaintAttribute()

bool QwtPlotIntervalCurve::testPaintAttribute | ( | PaintAttribute | attribute | ) | const

Returns
  True, when attribute is enabled

See also
  PaintAttribute, setPaintAttribute()

Definition at line 140 of file qwt_plot_intervalcurve.cpp.