Loading...
Searching...
No Matches
QwtPlotCurve Class Reference

A plot item, that represents a series of points. More...

`#include <qwt_plot_curve.h>`

Inheritance diagram for QwtPlotCurve:

## Public Types

enum | CurveStyle { NoCurve = -1 , Lines , Sticks , Steps , Dots , UserCurve = 100 }
enum | CurveAttribute { Inverted = 0x01 , Fitted = 0x02 }
enum | LegendAttribute { LegendNoAttribute = 0x00 , LegendShowLine = 0x01 , LegendShowSymbol = 0x02 , LegendShowBrush = 0x04 }
enum | PaintAttribute { ClipPolygons = 0x01 , FilterPoints = 0x02 , MinimizeMemory = 0x04 , ImageBuffer = 0x08 , FilterPointsAggressive = 0x10 }
typedef QFlags< CurveAttribute > | CurveAttributes
typedef QFlags< LegendAttribute > | LegendAttributes
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

| QwtPlotCurve (const QString &title=QString())
| QwtPlotCurve (const QwtText &title)
virtual | ~QwtPlotCurve ()
| Destructor.
virtual int | rtti () const override
void | setPaintAttribute (PaintAttribute, bool on=true)
bool | testPaintAttribute (PaintAttribute) const
void | setLegendAttribute (LegendAttribute, bool on=true)
bool | testLegendAttribute (LegendAttribute) const
void | setLegendAttributes (LegendAttributes)
LegendAttributes | legendAttributes () const
void | setRawSamples (const double *xData, const double *yData, int size)
| Initialize the data by pointing to memory blocks which are not managed by QwtPlotCurve.
void | setRawSamples (const float *xData, const float *yData, int size)
| Initialize the data by pointing to memory blocks which are not managed by QwtPlotCurve.
void | setRawSamples (const double *yData, int size)
| Initialize the data by pointing to a memory block which is not managed by QwtPlotCurve.
void | setRawSamples (const float *yData, int size)
| Initialize the data by pointing to memory blocks which are not managed by QwtPlotCurve.
void | setSamples (const double *xData, const double *yData, int size)
void | setSamples (const float *xData, const float *yData, int size)
void | setSamples (const double *yData, int size)
void | setSamples (const float *yData, int size)
void | setSamples (const QVector< double > &yData)
void | setSamples (const QVector< float > &yData)
void | setSamples (const QVector< double > &xData, const QVector< double > &yData)
| Initialize data with x- and y-arrays (explicitly shared)
void | setSamples (const QVector< float > &xData, const QVector< float > &yData)
| Initialize data with x- and y-arrays (explicitly shared)
void | setSamples (const QVector< QPointF > &)
void | setSamples (QwtSeriesData< QPointF > *)
virtual int | closestPoint (const QPointF &pos, double *dist=NULL) const
virtual int | adjacentPoint (Qt::Orientation orientation, qreal value) const
qreal | interpolatedValueAt (Qt::Orientation, double) const
double | minXValue () const
| boundingRect().left()
double | maxXValue () const
| boundingRect().right()
double | minYValue () const
| boundingRect().top()
double | maxYValue () const
| boundingRect().bottom()
void | setCurveAttribute (CurveAttribute, bool on=true)
bool | testCurveAttribute (CurveAttribute) const
void | setPen (const QColor &, qreal width=0.0, Qt::PenStyle=Qt::SolidLine)
void | setPen (const QPen &)
const QPen & | pen () const
void | setBrush (const QBrush &)
| Assign a brush.
const QBrush & | brush () const
void | setBaseline (double)
| Set the value of the baseline.
double | baseline () const
void | setStyle (CurveStyle style)
CurveStyle | style () const
void | setSymbol (QwtSymbol *)
| Assign a symbol.
const QwtSymbol * | symbol () const
void | setCurveFitter (QwtCurveFitter *)
QwtCurveFitter * | curveFitter () const
virtual void | drawSeries (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) 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 QRectF | boundingRect () const override
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< QPointF >
| QwtSeriesStore ()
| Constructor The store contains no series.
| ~QwtSeriesStore ()
| Destructor.
void | setData (QwtSeriesData< QPointF > *series)
QwtSeriesData< QPointF > * | data ()
const QwtSeriesData< QPointF > * | data () const
QPointF | sample (int index) const
virtual size_t | dataSize () const override
virtual QRectF | dataRect () const override
virtual void | setRectOfInterest (const QRectF &rect) override
QwtSeriesData< QPointF > * | swapData (QwtSeriesData< QPointF > *series)

## Protected Member Functions

void | init ()
| Initialize internal members.
virtual void | drawCurve (QPainter *, int style, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const
| Draw the line part (without symbols) of a curve interval.
virtual void | drawSymbols (QPainter *, const QwtSymbol &, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const
virtual void | drawLines (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const
| Draw lines.
virtual void | drawSticks (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const
virtual void | drawDots (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const
virtual void | drawSteps (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const
virtual void | fillCurve (QPainter *, const QwtScaleMap &, const QwtScaleMap &, const QRectF &canvasRect, QPolygonF &) const
void | closePolyline (QPainter *, const QwtScaleMap &, const QwtScaleMap &, QPolygonF &) const
| Complete a polygon to be a closed polygon including the area between the original polygon and the baseline.
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

A plot item, that represents a series of points.

A curve is the representation of a series of points in the x-y plane. It supports different display styles, interpolation ( f.e. spline ) and symbols.

Usage
  a) Assign curve properties
    When a curve is created, it is configured to draw black solid lines with in QwtPlotCurve::Lines style and no symbols. You can change this by calling setPen(), setStyle() and setSymbol().
  b) Connect/Assign data.
    QwtPlotCurve gets its points using a QwtSeriesData object offering a bridge to the real storage of the points ( like QAbstractItemModel ). There are several convenience classes derived from QwtSeriesData, that also store the points inside ( like QStandardItemModel ). QwtPlotCurve also offers a couple of variations of setSamples(), that build QwtSeriesData objects from arrays internally.
  c) Attach the curve to a plot
    See QwtPlotItem::attach()

Example:
  see examples/bode

See also
  QwtPointSeriesData, QwtSymbol, QwtScaleMap

Definition at line 56 of file qwt_plot_curve.h.

## Member Typedef Documentation

## CurveAttributes

typedef QFlags<CurveAttribute > QwtPlotCurve::CurveAttributes

An ORed combination of CurveAttribute values.

Definition at line 133 of file qwt_plot_curve.h.

## LegendAttributes

typedef QFlags<LegendAttribute > QwtPlotCurve::LegendAttributes

An ORed combination of LegendAttribute values.

Definition at line 168 of file qwt_plot_curve.h.

## PaintAttributes

typedef QFlags<PaintAttribute > QwtPlotCurve::PaintAttributes

An ORed combination of PaintAttribute values.

Definition at line 234 of file qwt_plot_curve.h.

## Member Enumeration Documentation

## CurveAttribute

enum QwtPlotCurve::CurveAttribute

Attribute for drawing the curve

See also
  setCurveAttribute(), testCurveAttribute(), curveFitter()

Enumerator
Inverted | For QwtPlotCurve::Steps only. Draws a step function from the right to the left.

Fitted

Only in combination with QwtPlotCurve::Lines A QwtCurveFitter tries to interpolate/smooth the curve, before it is painted.

Note
  Curve fitting requires temporary memory for calculating coefficients and additional points. If painting in QwtPlotCurve::Fitted mode is slow it might be better to fit the points, before they are passed to QwtPlotCurve.

Definition at line 112 of file qwt_plot_curve.h.

## CurveStyle

enum QwtPlotCurve::CurveStyle

Curve styles.

See also
  setStyle(), style()

Enumerator
NoCurve | Don't draw a curve. Note: This doesn't affect the symbols.
Lines | Connect the points with straight lines. The lines might be interpolated depending on the 'Fitted' attribute. Curve fitting can be configured using setCurveFitter().
Sticks | Draw vertical or horizontal sticks ( depending on the orientation() ) from a baseline which is defined by setBaseline().
Steps | Connect the points with a step function. The step function is drawn from the left to the right or vice versa, depending on the QwtPlotCurve::Inverted attribute.
Dots | Draw dots at the locations of the data points. Note: This is different from a dotted line (see setPen()), and faster as a curve in QwtPlotCurve::NoStyle style and a symbol painting a point.
UserCurve | Styles >= QwtPlotCurve::UserCurve are reserved for derived classes of QwtPlotCurve that overload drawCurve() with additional application specific curve types.

Definition at line 65 of file qwt_plot_curve.h.

## LegendAttribute

enum QwtPlotCurve::LegendAttribute

Attributes how to represent the curve on the legend

See also
  setLegendAttribute(), testLegendAttribute(), QwtPlotItem::legendData(), legendIcon()

Enumerator
LegendNoAttribute | QwtPlotCurve tries to find a color representing the curve and paints a rectangle with it.
LegendShowLine | If the style() is not QwtPlotCurve::NoCurve a line is painted with the curve pen().
LegendShowSymbol | If the curve has a valid symbol it is painted.
LegendShowBrush | If the curve has a brush a rectangle filled with the curve brush() is painted.

Definition at line 142 of file qwt_plot_curve.h.

## PaintAttribute

enum QwtPlotCurve::PaintAttribute

Attributes to modify the drawing algorithm. The default setting enables ClipPolygons | FilterPoints

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
FilterPoints | Tries to reduce the data that has to be painted, by sorting out duplicates, or paintings outside the visible area. Might have a notable impact on curves with many close points. Only a couple of very basic filtering algorithms are implemented.
MinimizeMemory | Minimize memory usage that is temporarily needed for the translated points, before they get painted. This might slow down the performance of painting
ImageBuffer | Render the points to a temporary image and paint the image. This is a very special optimization for Dots style, when having a huge amount of points. With a reasonable number of points QPainter::drawPoints() will be faster.

FilterPointsAggressive

More aggressive point filtering trying to filter out intermediate points, accepting minor visual differences.

Has only an effect, when drawing the curve to a paint device in integer coordinates ( f.e. all widgets on screen ) using the fact, that consecutive points are often mapped to the same x or y coordinate. Each chunk of samples mapped to the same coordinate can be reduced to 4 points ( first, min, max last ).

In the worst case the polygon to be rendered will be 4 times the width of the plot canvas.

The algorithm is very fast and effective for huge datasets, and can be used inside a replot cycle.

Note
  Implemented for QwtPlotCurve::Lines only
  As this algo replaces many small lines by a long one a nasty bug of the raster paint engine ( Qt 4.8, Qt 5.1 - 5.3 ) becomes more dominant. For these versions the bug can be worked around by enabling the QwtPainter::polylineSplitting() mode.

Definition at line 176 of file qwt_plot_curve.h.

## Constructor & Destructor Documentation

## QwtPlotCurve() [1/2]

QwtPlotCurve::QwtPlotCurve | ( | const QString & | title = QString() | ) |

explicit

Constructor

Parameters

  title | Title of the curve

Definition at line 123 of file qwt_plot_curve.cpp.

## QwtPlotCurve() [2/2]

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

explicit

Constructor

Parameters

  title | Title of the curve

Definition at line 113 of file qwt_plot_curve.cpp.

## ~QwtPlotCurve()

QwtPlotCurve::~QwtPlotCurve | ( |  | ) |

virtual

Destructor.

Definition at line 130 of file qwt_plot_curve.cpp.

## Member Function Documentation

## adjacentPoint()

int QwtPlotCurve::adjacentPoint | ( | Qt::Orientation | orientation,
|  | qreal | value ) const

virtual

Find the curve point with the smallest coordinate larger than a specific value The coordinates have to be monotonic in direction of the orientation.

Parameters

  orientation | Qt::Horizontal corresponds to x, Qt::Vertical to y coordinates
  value | x or y coordinate, depending on the orientation

Returns
  Index of the curve point with the smalles coordinate above value or -1 if there is none.

Note
  The implementation uses a binary search algorithm and requires the points being ordered in direction of the orientation.

See also
  qwtUpperSampleIndex()

Definition at line 1108 of file qwt_plot_curve.cpp.

## baseline()

double QwtPlotCurve::baseline | ( |  | ) | const

Returns
  Value of the baseline

See also
  setBaseline()

Definition at line 1038 of file qwt_plot_curve.cpp.

## brush()

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

Returns
  Brush used to fill the area between lines and the baseline

See also
  setBrush(), setBaseline(), baseline()

Definition at line 366 of file qwt_plot_curve.cpp.

## closePolyline()

void QwtPlotCurve::closePolyline | ( | QPainter * | painter,
|  | const QwtScaleMap & | xMap,
|  | const QwtScaleMap & | yMap,
|  | QPolygonF & | polygon ) const

protected

Complete a polygon to be a closed polygon including the area between the original polygon and the baseline.

Parameters

  painter | Painter
  xMap | X map
  yMap | Y map
  polygon | Polygon to be completed

Definition at line 932 of file qwt_plot_curve.cpp.

## closestPoint()

int QwtPlotCurve::closestPoint | ( | const QPointF & | pos,
|  | double * | dist = NULL ) const

virtual

Find the closest curve point for a specific position

Parameters

  pos | Position, where to look for the closest curve point
  dist | If dist != NULL, closestPoint() returns the distance between the position and the closest curve point in paint device coordinates

Returns
  Index of the closest curve point, or -1 if none can be found ( f.e when the curve has no points )

Note
  closestPoint() implements a dumb algorithm, that iterates over all points

Definition at line 1054 of file qwt_plot_curve.cpp.

## curveFitter()

QwtCurveFitter * QwtPlotCurve::curveFitter | ( |  | ) | const

Get the curve fitter. If curve fitting is disabled NULL is returned.

Returns
  Curve fitter

See also
  setCurveFitter(), Fitted

Definition at line 875 of file qwt_plot_curve.cpp.

## drawCurve()

void QwtPlotCurve::drawCurve | ( | QPainter * | painter,
|  | int | style,
|  | const QwtScaleMap & | xMap,
|  | const QwtScaleMap & | yMap,
|  | const QRectF & | canvasRect,
|  | int | from,
|  | int | to ) const

protected virtual

Draw the line part (without symbols) of a curve interval.

Parameters

  painter | Painter
  style | curve style, see QwtPlotCurve::CurveStyle
  xMap | x map
  yMap | y map
  canvasRect | Contents rectangle of the canvas
  from | index of the first point to be painted
  to | index of the last point to be painted

See also
  draw(), drawDots(), drawLines(), drawSteps(), drawSticks()

Definition at line 432 of file qwt_plot_curve.cpp.

## drawDots()

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

protected virtual

Draw dots

Parameters

  painter | Painter
  xMap | x map
  yMap | y map
  canvasRect | Contents rectangle of the canvas
  from | index of the first point to be painted
  to | index of the last point to be painted

See also
  draw(), drawCurve(), drawSticks(), drawLines(), drawSteps()

Definition at line 643 of file qwt_plot_curve.cpp.

## drawLines()

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

protected virtual

Draw lines.

If the CurveAttribute Fitted is enabled a QwtCurveFitter tries to interpolate/smooth the curve, before it is painted.

Parameters

  painter | Painter
  xMap | x map
  yMap | y map
  canvasRect | Contents rectangle of the canvas
  from | index of the first point to be painted
  to | index of the last point to be painted

See also
  setCurveAttribute(), setCurveFitter(), draw(), drawLines(), drawDots(), drawSteps(), drawSticks()

Definition at line 479 of file qwt_plot_curve.cpp.

## drawSeries()

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

override virtual

Draw an interval of the curve

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 point to be painted
  to | Index of the last point to be painted. If to < 0 the curve will be painted to its last point.

See also
  drawCurve(), drawSymbols(),

Implements QwtPlotSeriesItem.

Definition at line 384 of file qwt_plot_curve.cpp.

## drawSteps()

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

protected virtual

Draw step function

The direction of the steps depends on Inverted attribute.

Parameters

  painter | Painter
  xMap | x map
  yMap | y map
  canvasRect | Contents rectangle of the canvas
  from | index of the first point to be painted
  to | index of the last point to be painted

See also
  CurveAttribute, setCurveAttribute(), draw(), drawCurve(), drawDots(), drawLines(), drawSticks()

Definition at line 744 of file qwt_plot_curve.cpp.

## drawSticks()

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

protected virtual

Draw sticks

Parameters

  painter | Painter
  xMap | x map
  yMap | y map
  canvasRect | Contents rectangle of the canvas
  from | index of the first point to be painted
  to | index of the last point to be painted

See also
  draw(), drawCurve(), drawDots(), drawLines(), drawSteps()

Definition at line 588 of file qwt_plot_curve.cpp.

## drawSymbols()

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

protected virtual

Draw symbols

Parameters

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

See also
  setSymbol(), drawSeries(), drawCurve()

Definition at line 982 of file qwt_plot_curve.cpp.

## fillCurve()

void QwtPlotCurve::fillCurve | ( | QPainter * | painter,
|  | const QwtScaleMap & | xMap,
|  | const QwtScaleMap & | yMap,
|  | const QRectF & | canvasRect,
|  | QPolygonF & | polygon ) const

protected virtual

Fill the area between the curve and the baseline with the curve brush

Parameters

  painter | Painter
  xMap | x map
  yMap | y map
  canvasRect | Contents rectangle of the canvas
  polygon | Polygon - will be modified !

See also
  setBrush(), setBaseline(), setStyle()

Definition at line 892 of file qwt_plot_curve.cpp.

## init()

void QwtPlotCurve::init | ( |  | ) |

protected

Initialize internal members.

Definition at line 136 of file qwt_plot_curve.cpp.

## interpolatedValueAt()

qreal QwtPlotCurve::interpolatedValueAt | ( | Qt::Orientation | orientation,
|  | double | value ) const

Calculate a fictive curve point by interpolating between the adjacent points. The curve points have to be monotonic in direction of the orientation.

Parameters

  orientation | For Qt::Horizontal value is a x coordinate and a y coordinate is returned. For Qt::Vertical value is a x coordinate
  value | x or y coordinate, depending on the orientation

Returns
  Interpolated coordinate or qQNaN() if value is outside the bounding rectangle of the curve

Note
  The implementation uses a binary search algorithm and requires the points being ordered in direction of the orientation.

See also
  adjacentPoint()

Definition at line 1158 of file qwt_plot_curve.cpp.

## legendAttributes()

QwtPlotCurve::LegendAttributes QwtPlotCurve::legendAttributes | ( |  | ) | const

Returns
  Attributes how to draw the legend icon

See also
  setLegendAttributes(), testLegendAttribute()

Definition at line 228 of file qwt_plot_curve.cpp.

## legendIcon()

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

override virtual

Returns
  Icon representing the curve on the legend

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 1223 of file qwt_plot_curve.cpp.

## maxXValue()

double QwtPlotCurve::maxXValue | ( |  | ) | const

inline

boundingRect().right()

Definition at line 358 of file qwt_plot_curve.h.

## maxYValue()

double QwtPlotCurve::maxYValue | ( |  | ) | const

inline

boundingRect().bottom()

Definition at line 370 of file qwt_plot_curve.h.

## minXValue()

double QwtPlotCurve::minXValue | ( |  | ) | const

inline

boundingRect().left()

Definition at line 352 of file qwt_plot_curve.h.

## minYValue()

double QwtPlotCurve::minYValue | ( |  | ) | const

inline

boundingRect().top()

Definition at line 364 of file qwt_plot_curve.h.

## pen()

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

Returns
  Pen used to draw the lines

See also
  setPen(), brush()

Definition at line 331 of file qwt_plot_curve.cpp.

## rtti()

int QwtPlotCurve::rtti | ( |  | ) | const

override virtual

Returns
  QwtPlotItem::Rtti_PlotCurve

Reimplemented from QwtPlotItem.

Definition at line 148 of file qwt_plot_curve.cpp.

## setBaseline()

void QwtPlotCurve::setBaseline | ( | double | value | ) |

Set the value of the baseline.

The baseline is needed for filling the curve with a brush or the Sticks drawing style.

The interpretation of the baseline depends on the orientation(). With Qt::Vertical, the baseline is interpreted as a horizontal line at y = baseline(), with Qt::Horizontal, it is interpreted as a vertical line at x = baseline().

The default value is 0.0.

Parameters

  value | Value of the baseline

See also
  baseline(), setBrush(), setStyle(), QwtPlotAbstractSeriesItem::orientation()

Definition at line 1025 of file qwt_plot_curve.cpp.

## setBrush()

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

Assign a brush.

In case of brush.style() != QBrush::NoBrush and style() != QwtPlotCurve::Sticks the area between the curve and the baseline will be filled.

In case !brush.color().isValid() the area will be filled by pen.color(). The fill algorithm simply connects the first and the last curve point to the baseline. So the curve data has to be sorted (ascending or descending).

Parameters

  brush | New brush

See also
  brush(), setBaseline(), baseline()

Definition at line 351 of file qwt_plot_curve.cpp.

## setCurveAttribute()

void QwtPlotCurve::setCurveAttribute | ( | CurveAttribute | attribute,
|  | bool | on = true )

Specify an attribute for drawing the curve

Parameters

  attribute | Curve attribute
  on | On/Off

/sa testCurveAttribute(), setCurveFitter()

Definition at line 822 of file qwt_plot_curve.cpp.

## setCurveFitter()

void QwtPlotCurve::setCurveFitter | ( | QwtCurveFitter * | curveFitter | ) |

Assign a curve fitter

The curve fitter "smooths" the curve points, when the Fitted CurveAttribute is set. setCurveFitter(NULL) also disables curve fitting.

The curve fitter operates on the translated points ( = widget coordinates) to be functional for logarithmic scales. Obviously this is less performant for fitting algorithms, that reduce the number of points.

For situations, where curve fitting is used to improve the performance of painting huge series of points it might be better to execute the fitter on the curve points once and to cache the result in the QwtSeriesData object.

Parameters

  curveFitter() | Curve fitter

See also
  Fitted

Definition at line 861 of file qwt_plot_curve.cpp.

## setLegendAttribute()

void QwtPlotCurve::setLegendAttribute | ( | LegendAttribute | attribute,
|  | bool | on = true )

Specify an attribute how to draw the legend icon

Parameters

  attribute | Attribute
  on | On/Off /sa testLegendAttribute(). legendIcon()

Definition at line 184 of file qwt_plot_curve.cpp.

## setLegendAttributes()

void QwtPlotCurve::setLegendAttributes | ( | LegendAttributes | attributes | ) |

Specify the attributes how to draw the legend icon

Parameters

  attributes | Attributes /sa setLegendAttribute(). legendIcon()

Definition at line 213 of file qwt_plot_curve.cpp.

## setPaintAttribute()

void QwtPlotCurve::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 160 of file qwt_plot_curve.cpp.

## setPen() [1/2]

void QwtPlotCurve::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 305 of file qwt_plot_curve.cpp.

## setPen() [2/2]

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

Assign a pen

Parameters

  pen | New pen

See also
  pen(), brush()

Definition at line 316 of file qwt_plot_curve.cpp.

## setRawSamples() [1/4]

void QwtPlotCurve::setRawSamples | ( | const double * | xData,
|  | const double * | yData,
|  | int | size )

Initialize the data by pointing to memory blocks which are not managed by QwtPlotCurve.

setRawSamples is provided for efficiency. It is important to keep the pointers during the lifetime of the underlying QwtCPointerData class.

Parameters

  xData | pointer to x data
  yData | pointer to y data
  size | size of x and y

See also
  QwtCPointerData

Definition at line 1331 of file qwt_plot_curve.cpp.

## setRawSamples() [2/4]

void QwtPlotCurve::setRawSamples | ( | const double * | yData,
|  | int | size )

Initialize the data by pointing to a memory block which is not managed by QwtPlotCurve.

The memory contains the y coordinates, while the index is interpreted as x coordinate.

setRawSamples() is provided for efficiency. It is important to keep the pointers during the lifetime of the underlying QwtCPointerValueData class.

Parameters

  yData | pointer to y data
  size | size of x and y

See also
  QwtCPointerData

Definition at line 1373 of file qwt_plot_curve.cpp.

## setRawSamples() [3/4]

void QwtPlotCurve::setRawSamples | ( | const float * | xData,
|  | const float * | yData,
|  | int | size )

Initialize the data by pointing to memory blocks which are not managed by QwtPlotCurve.

setRawSamples is provided for efficiency. It is important to keep the pointers during the lifetime of the underlying QwtCPointerData class.

Parameters

  xData | pointer to x data
  yData | pointer to y data
  size | size of x and y

See also
  QwtCPointerData

Definition at line 1351 of file qwt_plot_curve.cpp.

## setRawSamples() [4/4]

void QwtPlotCurve::setRawSamples | ( | const float * | yData,
|  | int | size )

Initialize the data by pointing to memory blocks which are not managed by QwtPlotCurve.

The memory contains the y coordinates, while the index is interpreted as x coordinate.

setRawSamples() is provided for efficiency. It is important to keep the pointers during the lifetime of the underlying QwtCPointerValueData class.

Parameters

  yData | pointer to y data
  size | size of x and y

See also
  QwtCPointerData

Definition at line 1394 of file qwt_plot_curve.cpp.

## setSamples() [1/10]

void QwtPlotCurve::setSamples | ( | const double * | xData,
|  | const double * | yData,
|  | int | size )

Set data by copying x- and y-values from specified memory blocks. Contrary to setRawSamples(), this function makes a 'deep copy' of the data.

Parameters

  xData | pointer to x values
  yData | pointer to y values
  size | size of xData and yData

See also
  QwtPointArrayData

Definition at line 1410 of file qwt_plot_curve.cpp.

## setSamples() [2/10]

void QwtPlotCurve::setSamples | ( | const double * | yData,
|  | int | size )

Set data by copying y-values from a specified memory block.

The memory contains the y coordinates, while the index is interpreted as x coordinate.

Parameters

  yData | y data
  size | size of yData

See also
  QwtValuePointData

Definition at line 1472 of file qwt_plot_curve.cpp.

## setSamples() [3/10]

void QwtPlotCurve::setSamples | ( | const float * | xData,
|  | const float * | yData,
|  | int | size )

Set data by copying x- and y-values from specified memory blocks. Contrary to setRawSamples(), this function makes a 'deep copy' of the data.

Parameters

  xData | pointer to x values
  yData | pointer to y values
  size | size of xData and yData

See also
  QwtPointArrayData

Definition at line 1427 of file qwt_plot_curve.cpp.

## setSamples() [4/10]

void QwtPlotCurve::setSamples | ( | const float * | yData,
|  | int | size )

Set data by copying y-values from a specified memory block.

The vector contains the y coordinates, while the index is interpreted as x coordinate.

Parameters

  yData | y data
  size | size of yData

See also
  QwtValuePointData

Definition at line 1488 of file qwt_plot_curve.cpp.

## setSamples() [5/10]

void QwtPlotCurve::setSamples | ( | const QVector< double > & | xData,
|  | const QVector< double > & | yData )

Initialize data with x- and y-arrays (explicitly shared)

Parameters

  xData | x data
  yData | y data

See also
  QwtPointArrayData

Definition at line 1441 of file qwt_plot_curve.cpp.

## setSamples() [6/10]

void QwtPlotCurve::setSamples | ( | const QVector< double > & | yData | ) |

Initialize data with an array of y values (explicitly shared)

The vector contains the y coordinates, while the index is the x coordinate.

Parameters

  yData | y data

See also
  QwtValuePointData

Definition at line 1503 of file qwt_plot_curve.cpp.

## setSamples() [7/10]

void QwtPlotCurve::setSamples | ( | const QVector< float > & | xData,
|  | const QVector< float > & | yData )

Initialize data with x- and y-arrays (explicitly shared)

Parameters

  xData | x data
  yData | y data

See also
  QwtPointArrayData

Definition at line 1455 of file qwt_plot_curve.cpp.

## setSamples() [8/10]

void QwtPlotCurve::setSamples | ( | const QVector< float > & | yData | ) |

Initialize data with an array of y values (explicitly shared)

The vector contains the y coordinates, while the index is the x coordinate.

Parameters

  yData | y data

See also
  QwtValuePointData

Definition at line 1518 of file qwt_plot_curve.cpp.

## setSamples() [9/10]

void QwtPlotCurve::setSamples | ( | const QVector< QPointF > & | samples | ) |

Initialize data with an array of points.

Parameters

  samples | Vector of points

Note
  QVector is implicitly shared
  QPolygonF is derived from QVector<QPointF>

Definition at line 1312 of file qwt_plot_curve.cpp.

## setSamples() [10/10]

void QwtPlotCurve::setSamples | ( | QwtSeriesData< QPointF > * | data | ) |

Assign a series of points

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 1300 of file qwt_plot_curve.cpp.

## setStyle()

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

Set the curve's drawing style

Parameters

  style | Curve style

See also
  style()

Definition at line 239 of file qwt_plot_curve.cpp.

## setSymbol()

void QwtPlotCurve::setSymbol | ( | QwtSymbol * | symbol | ) |

Assign a symbol.

The curve will take the ownership of the symbol, hence the previously set symbol will be delete by setting a new one. If `symbol` is `NULL` no symbol will be drawn.

Parameters

  symbol | Symbol

See also
  symbol()

Definition at line 269 of file qwt_plot_curve.cpp.

## style()

QwtPlotCurve::CurveStyle QwtPlotCurve::style | ( |  | ) | const

Returns
  Style of the curve

See also
  setStyle()

Definition at line 254 of file qwt_plot_curve.cpp.

## symbol()

const QwtSymbol * QwtPlotCurve::symbol | ( |  | ) | const

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

See also
  setSymbol()

Definition at line 287 of file qwt_plot_curve.cpp.

## testCurveAttribute()

bool QwtPlotCurve::testCurveAttribute | ( | CurveAttribute | attribute | ) | const

Returns
  true, if attribute is enabled

See also
  setCurveAttribute()

Definition at line 839 of file qwt_plot_curve.cpp.

## testLegendAttribute()

bool QwtPlotCurve::testLegendAttribute | ( | LegendAttribute | attribute | ) | const

Returns
  True, when attribute is enabled

See also
  setLegendAttribute()

Definition at line 202 of file qwt_plot_curve.cpp.

## testPaintAttribute()

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

Returns
  True, when attribute is enabled

See also
  setPaintAttribute()

Definition at line 172 of file qwt_plot_curve.cpp.