---
name: "QwtPlotIntervalCurve"
section: "3"
platform: "linux"
package: "libqwt-doc"
version: "6.1.4-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/QwtPlotIntervalCurve"
---

# QwtPlotIntervalCurve(3)

QwtPlotIntervalCurve represents a series of samples, where each value is associated with an interval ( $\[y1,y2\] = f(x)$ ).

## NAME

QwtPlotIntervalCurve - **QwtPlotIntervalCurve** represents a series of samples, where each value is associated with an interval ( $\[y1,y2\] = f(x)$ ).

## SYNOPSIS

`#include <qwt_plot_intervalcurve.h>`

Inherits **QwtPlotSeriesItem**, and **QwtSeriesStore\< QwtIntervalSample \>**.

### Public Types

enum **CurveStyle** { **NoCurve**, **Tube**, **UserCurve** = 100 }\
 Curve styles. The default setting is **QwtPlotIntervalCurve::Tube**.  enum **PaintAttribute** { **ClipPolygons** = 0x01, **ClipSymbol** = 0x02 }\
 typedef QFlags\< **PaintAttribute** \> **PaintAttributes**\
 Paint attributes.

### Public Member Functions

**QwtPlotIntervalCurve** (const QString &**title**=QString())\
 **QwtPlotIntervalCurve** (const **QwtText** &**title**)\
 virtual **~QwtPlotIntervalCurve** ()\
 Destructor.  virtual int **rtti** () const\
 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\
 virtual QRectF **boundingRect** () const\
 virtual **QwtGraphic** **legendIcon** (int index, const QSizeF &) const\

### 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\

## Detailed Description

**QwtPlotIntervalCurve** represents a series of samples, where each value is associated with an interval ( $\[y1,y2\] = f(x)$ ).

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.

## Member Enumeration Documentation

### 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.*

### 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.*

## Constructor & Destructor Documentation

### QwtPlotIntervalCurve::QwtPlotIntervalCurve (const QString & title = `QString()`)` [explicit]`

*Constructor*

**Parameters:**

*title Title of the curve*

### QwtPlotIntervalCurve::QwtPlotIntervalCurve (const QwtText & title)` [explicit]`

*Constructor*

**Parameters:**

*title Title of the curve*

## Member Function Documentation

### QRectF QwtPlotIntervalCurve::boundingRect () const` [virtual]`

**Returns:**

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

*Reimplemented from* **QwtPlotSeriesItem***.*

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

**Returns:**

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

**See also:**

**setBrush()***,* **setStyle()***,* **CurveStyle**

### void QwtPlotIntervalCurve::drawSeries (QPainter \* painter, const QwtScaleMap & xMap, const QwtScaleMap & yMap, const QRectF & canvasRect, int from, int to) const` [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***.*

### 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()**

### 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()**

### QwtGraphic QwtPlotIntervalCurve::legendIcon (int index, const QSizeF & size) const` [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***.*

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

**Returns:**

*Pen used to draw the lines*

**See also:**

**setPen()***,* **brush()**

### int QwtPlotIntervalCurve::rtti () const` [virtual]`

**Returns:**

**QwtPlotItem::Rtti\_PlotIntervalCurve**

*Reimplemented from* **QwtPlotItem***.*

### 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**

### 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()**

### 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()**

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

*Assign a pen.*

**Parameters:**

*pen New pen*

**See also:**

**pen()***,* **brush()**

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

*Initialize data with an array of samples.*

**Parameters:**

*samples Vector of samples*

### 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.*

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

*Set the curve's drawing style*

**Parameters:**

*style Curve style*

**See also:**

**CurveStyle***,* **style()**

### void QwtPlotIntervalCurve::setSymbol (const QwtIntervalSymbol \* symbol)

*Assign a symbol.*

**Parameters:**

*symbol Symbol*

**See also:**

**symbol()**

### QwtPlotIntervalCurve::CurveStyle QwtPlotIntervalCurve::style () const

**Returns:**

*Style of the curve*

**See also:**

**setStyle()**

### const QwtIntervalSymbol \* QwtPlotIntervalCurve::symbol () const

**Returns:**

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

**See also:**

**setSymbol()**

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

**Returns:**

*True, when attribute is enabled*

**See also:**

**PaintAttribute***,* **setPaintAttribute()**

## Author

*Generated automatically by Doxygen for Qwt User's Guide from the source code.*
