Qwt User's Guide: QwtPlotIntervalCurve Class Reference

Qwt User's Guide 6.3.0

Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | List of all members
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 , TubeAsLines = 0x10 }
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.
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.
virtual void | updateScaleDiv (const QwtScaleDiv &, const QwtScaleDiv &) override
| Update the item to changes of the axes scale division.
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.
void | detach ()
| This method detaches a QwtPlotItem from any QwtPlot it has been associated with.
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.
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.
virtual void | updateLegend (const QwtPlotItem *, const QList< QwtLegendData > &)
| Update the item to changes of the legend info.
QRectF | scaleRect (const QwtScaleMap &, const QwtScaleMap &) const
| Calculate the bounding scale rectangle of 2 maps.
QRectF | paintRect (const QwtScaleMap &, const QwtScaleMap &) const
| Calculate the bounding paint rectangle of 2 maps.
virtual QList< QwtLegendData > | legendData () const
| Return all information, that is needed to represent the item on the legend.
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.

## 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 98 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.
TubeAsLines | Fill the tube with horizontal or vertical lines and unite overlapping border lines. This attribute is useful for large data sets, where consecutive samples are often mapped to the same coordinate. Beside other minor visual differences the filling is always monochrome - using brush().color(). This algorithm is very fast and effective and can be used inside a replot cycle. In the worst case the number of lines to be rendered will be 5 times the ( width/height - depending on the orientation() ) of the plot canvas. Note Has only an effect, when drawing to a paint device in integer coordinates ( f.e. all widgets on screen ). See also QwtPlotCurve::FilterPointsAggressive

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 524 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 514 of file qwt_plot_intervalcurve.cpp.

## ◆ ~QwtPlotIntervalCurve()

QwtPlotIntervalCurve::~QwtPlotIntervalCurve | ( |  | ) |
| virtual

Destructor.

Definition at line 531 of file qwt_plot_intervalcurve.cpp.

## Member Function Documentation

## ◆ boundingRect()

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

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

Reimplemented from QwtPlotSeriesItem.

Definition at line 734 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 725 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
| overridevirtual

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 756 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
| protectedvirtual

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 829 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
| protectedvirtual

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 797 of file qwt_plot_intervalcurve.cpp.

## ◆ init()

void QwtPlotIntervalCurve::init | ( |  | ) |
| protected

Initialize internal members.

Definition at line 537 of file qwt_plot_intervalcurve.cpp.

## ◆ legendIcon()

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

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 896 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 697 of file qwt_plot_intervalcurve.cpp.

## ◆ rtti()

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

Returns
  QwtPlotItem::Rtti_PlotIntervalCurve

Reimplemented from QwtPlotItem.

Definition at line 549 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 710 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 561 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 672 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 682 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 584 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 600 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 612 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 638 of file qwt_plot_intervalcurve.cpp.

## ◆ style()

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

Returns
  Style of the curve

See also
  setStyle()

Definition at line 627 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 654 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 574 of file qwt_plot_intervalcurve.cpp.