QWT 7.0.1
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Protected Member Functions | List of all members
QwtPlotCurve Class Reference

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

#include <qwt_plot_curve.h>

Inheritance diagram for QwtPlotCurve:
QwtPlotSeriesItem QwtSeriesStore< QPointF > QwtPlotItem QwtAbstractSeriesStore QwtAbstractSeriesStore

Classes

class  PrivateData
 

Public Types

enum  CurveStyle {
  NoCurve = -1 , Lines , Sticks , Steps ,
  Dots , UserCurve = 100
}
 Curve styles. More...
 
enum  CurveAttribute { Inverted = 0x01 , Fitted = 0x02 }
 Attribute for drawing the curve. More...
 
enum  LegendAttribute { LegendNoAttribute = 0x00 , LegendShowLine = 0x01 , LegendShowSymbol = 0x02 , LegendShowBrush = 0x04 }
 Attributes how to represent the curve on the legend. More...
 
enum  PaintAttribute {
  ClipPolygons = 0x01 , FilterPoints = 0x02 , MinimizeMemory = 0x04 , ImageBuffer = 0x08 ,
  FilterPointsAggressive = 0x10
}
 Attributes to modify the drawing algorithm. More...
 
- 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...
 

Public Member Functions

 QwtPlotCurve (const QString &title=QString())
 Constructor.
 
 QwtPlotCurve (const QwtText &title)
 Constructor.
 
virtual ~QwtPlotCurve ()
 Destructor.
 
virtual int rtti () const QWT_OVERRIDE
 
void setPaintAttribute (PaintAttribute, bool on=true)
 Specify an attribute how to draw the curve.
 
bool testPaintAttribute (PaintAttribute) const
 
void setLegendAttribute (LegendAttribute, bool on=true)
 Specify an attribute how to draw the legend icon.
 
bool testLegendAttribute (LegendAttribute) const
 
void setLegendAttributes (LegendAttributes)
 Specify the attributes how to draw the legend icon.
 
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)
 Set data by copying x- and y-values from specified memory blocks.
 
void setSamples (const float *xData, const float *yData, int size)
 Set data by copying x- and y-values from specified memory blocks.
 
void setSamples (const double *yData, int size)
 Set data by copying y-values from a specified memory block.
 
void setSamples (const float *yData, int size)
 Set data by copying y-values from a specified memory block.
 
void setSamples (const QVector< double > &yData)
 Initialize data with an array of y values (explicitly shared)
 
void setSamples (const QVector< float > &yData)
 Initialize data with an array of y values (explicitly shared)
 
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 (QVector< double > &&xData, QVector< double > &&yData)
 Initialize data with x- and y-arrays (explicitly shared)
 
void setSamples (QVector< float > &&xData, QVector< float > &&yData)
 Initialize data with x- and y-arrays (explicitly shared)
 
void setSamples (QVector< QPointF > &&)
 Initialize data with an array of points.
 
void setSamples (const QVector< QPointF > &)
 Initialize data with an array of points.
 
void setSamples (QwtSeriesData< QPointF > *)
 Assign a series of points.
 
virtual int closestPoint (const QPointF &pos, double *dist=NULL) const
 Find the closest curve point for a specific position.
 
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)
 Specify an attribute for drawing the curve.
 
bool testCurveAttribute (CurveAttribute) const
 
void setPen (const QColor &, qreal width=0.0, Qt::PenStyle=Qt::SolidLine)
 Build and assign a pen.
 
void setPen (const QPen &)
 Assign a pen.
 
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)
 Set the curve's drawing style.
 
CurveStyle style () const
 
void setSymbol (QwtSymbol *)
 Assign a symbol.
 
const QwtSymbolsymbol () const
 
void setCurveFitter (QwtCurveFitter *)
 Assign a curve fitter.
 
QwtCurveFittercurveFitter () const
 Get the curve fitter.
 
virtual void drawSeries (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const QWT_OVERRIDE
 Draw an interval of the curve.
 
virtual QwtGraphic legendIcon (int index, const QSizeF &) const QWT_OVERRIDE
 
- Public Member Functions inherited from QwtPlotSeriesItem
 QwtPlotSeriesItem (const QString &title=QString())
 Constructor.
 
 QwtPlotSeriesItem (const QwtText &title)
 Constructor.
 
virtual ~QwtPlotSeriesItem ()
 Destructor.
 
void setOrientation (Qt::Orientation)
 Set the orientation of the item.
 
Qt::Orientation orientation () const
 
virtual void draw (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect) const QWT_OVERRIDE
 Draw the complete series.
 
virtual QRectF boundingRect () const QWT_OVERRIDE
 
virtual void updateScaleDiv (const QwtScaleDiv &, const QwtScaleDiv &) QWT_OVERRIDE
 Update the item to changes of the axes scale division.
 
- Public Member Functions inherited from QwtPlotItem
 QwtPlotItem ()
 Constructor.
 
 QwtPlotItem (const QString &title)
 Constructor.
 
 QwtPlotItem (const QwtText &title)
 Constructor.
 
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.
 
QwtPlotplot () const
 Return attached plot.
 
void setTitle (const QString &title)
 Set a new title.
 
void setTitle (const QwtText &title)
 Set a new title.
 
const QwtTexttitle () const
 
void setItemAttribute (ItemAttribute, bool on=true)
 Toggle an item attribute.
 
bool testItemAttribute (ItemAttribute) const
 Test an item attribute.
 
void setItemInterest (ItemInterest, bool on=true)
 Toggle an item interest.
 
bool testItemInterest (ItemInterest) const
 Test an item interest.
 
void setRenderHint (RenderHint, bool on=true)
 Toggle an render hint.
 
bool testRenderHint (RenderHint) const
 Test a render hint.
 
void setRenderThreadCount (uint numThreads)
 On multi core systems rendering of certain plot item ( f.e QwtPlotRasterItem ) can be done in parallel in several threads.
 
uint renderThreadCount () const
 
void setLegendIconSize (const QSize &)
 Set the size of the legend icon.
 
QSize legendIconSize () const
 
double z () const
 Plot items are painted in increasing z-order.
 
void setZ (double z)
 Set the z value.
 
void show ()
 Show the item.
 
void hide ()
 Hide the item.
 
virtual void setVisible (bool)
 Show/Hide the item.
 
bool isVisible () const
 
void setAxes (QwtAxisId xAxis, QwtAxisId yAxis)
 Set X and Y axis.
 
void setXAxis (QwtAxisId)
 Set the X axis.
 
QwtAxisId xAxis () const
 Return xAxis.
 
void setYAxis (QwtAxisId)
 Set the Y axis.
 
QwtAxisId yAxis () const
 Return yAxis.
 
virtual void itemChanged ()
 Update the legend and call QwtPlot::autoRefresh() for the parent plot.
 
virtual void legendChanged ()
 Update the legend of the parent plot.
 
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< QwtLegendDatalegendData () 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)
 Assign a series of samples.
 
QwtSeriesData< QPointF > * data ()
 
const QwtSeriesData< QPointF > * data () const
 
QPointF sample (size_t index) const
 
virtual size_t dataSize () const QWT_OVERRIDE
 
virtual QRectF dataRect () const QWT_OVERRIDE
 
virtual void setRectOfInterest (const QRectF &rect) QWT_OVERRIDE
 Set a the "rect of interest" for the series.
 
QwtSeriesData< QPointF > * swapData (QwtSeriesData< QPointF > *series)
 Replace a series without deleting the previous one.
 

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
 Draw symbols.
 
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
 Draw sticks.
 
virtual void drawDots (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const
 Draw dots.
 
virtual void drawSteps (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const
 Draw step function.
 
virtual void fillCurve (QPainter *, const QwtScaleMap &, const QwtScaleMap &, const QRectF &canvasRect, QPolygonF &) const
 Fill the area between the curve and the baseline with the curve brush.
 
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 () QWT_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

Member Enumeration Documentation

◆ 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.

◆ 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.

◆ 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.

◆ 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.

Constructor & Destructor Documentation

◆ QwtPlotCurve() [1/2]

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

Constructor.

Parameters
titleTitle of the curve

◆ QwtPlotCurve() [2/2]

QwtPlotCurve::QwtPlotCurve ( const QwtText title)
explicit

Constructor.

Parameters
titleTitle of the curve

Member Function Documentation

◆ baseline()

double QwtPlotCurve::baseline ( ) const
Returns
Value of the baseline
See also
setBaseline()

◆ brush()

const QBrush & QwtPlotCurve::brush ( ) const
Returns
Brush used to fill the area between lines and the baseline
See also
setBrush(), setBaseline(), baseline()

◆ 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
painterPainter
xMapX map
yMapY map
polygonPolygon to be completed

◆ closestPoint()

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

Find the closest curve point for a specific position.

Parameters
posPosition, where to look for the closest curve point
distIf dist != NULL, closestPoint() returns the distance between the position and the closest curve point
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

◆ curveFitter()

QwtCurveFitter * QwtPlotCurve::curveFitter ( ) const

Get the curve fitter.

If curve fitting is disabled NULL is returned.

Returns
Curve fitter
See also
setCurveFitter(), Fitted

◆ drawCurve()

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

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

Parameters
painterPainter
stylecurve style, see QwtPlotCurve::CurveStyle
xMapx map
yMapy map
canvasRectContents rectangle of the canvas
fromindex of the first point to be painted
toindex of the last point to be painted
See also
draw(), drawDots(), drawLines(), drawSteps(), drawSticks()

◆ drawDots()

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

Draw dots.

Parameters
painterPainter
xMapx map
yMapy map
canvasRectContents rectangle of the canvas
fromindex of the first point to be painted
toindex of the last point to be painted
See also
draw(), drawCurve(), drawSticks(), drawLines(), drawSteps()

◆ drawLines()

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

Draw lines.

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

Parameters
painterPainter
xMapx map
yMapy map
canvasRectContents rectangle of the canvas
fromindex of the first point to be painted
toindex of the last point to be painted
See also
setCurveAttribute(), setCurveFitter(), draw(), drawLines(), drawDots(), drawSteps(), drawSticks()

◆ drawSeries()

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

Draw an interval of the curve.

Parameters
painterPainter
xMapMaps x-values into pixel coordinates.
yMapMaps y-values into pixel coordinates.
canvasRectContents rectangle of the canvas
fromIndex of the first point to be painted
toIndex 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.

◆ drawSteps()

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

Draw step function.

The direction of the steps depends on Inverted attribute.

Parameters
painterPainter
xMapx map
yMapy map
canvasRectContents rectangle of the canvas
fromindex of the first point to be painted
toindex of the last point to be painted
See also
CurveAttribute, setCurveAttribute(), draw(), drawCurve(), drawDots(), drawLines(), drawSticks()

◆ drawSticks()

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

Draw sticks.

Parameters
painterPainter
xMapx map
yMapy map
canvasRectContents rectangle of the canvas
fromindex of the first point to be painted
toindex of the last point to be painted
See also
draw(), drawCurve(), drawDots(), drawLines(), drawSteps()

◆ drawSymbols()

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

Draw symbols.

Parameters
painterPainter
symbolCurve symbol
xMapx map
yMapy map
canvasRectContents rectangle of the canvas
fromIndex of the first point to be painted
toIndex of the last point to be painted
See also
setSymbol(), drawSeries(), drawCurve()

◆ fillCurve()

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

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

Parameters
painterPainter
xMapx map
yMapy map
canvasRectContents rectangle of the canvas
polygonPolygon - will be modified !
See also
setBrush(), setBaseline(), setStyle()

◆ legendAttributes()

QwtPlotCurve::LegendAttributes QwtPlotCurve::legendAttributes ( ) const
Returns
Attributes how to draw the legend icon
See also
setLegendAttributes(), testLegendAttribute()

◆ legendIcon()

QwtGraphic QwtPlotCurve::legendIcon ( int  index,
const QSizeF &  size 
) const
virtual
Returns
Icon representing the curve on the legend
Parameters
indexIndex of the legend entry ( ignored as there is only one )
sizeIcon size
See also
QwtPlotItem::setLegendIconSize(), QwtPlotItem::legendData()

Reimplemented from QwtPlotItem.

◆ pen()

const QPen & QwtPlotCurve::pen ( ) const
Returns
Pen used to draw the lines
See also
setPen(), brush()

◆ rtti()

int QwtPlotCurve::rtti ( ) const
virtual
Returns
QwtPlotItem::Rtti_PlotCurve

Reimplemented from QwtPlotItem.

◆ 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
valueValue of the baseline
See also
baseline(), setBrush(), setStyle(), QwtPlotAbstractSeriesItem::orientation()

◆ 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
brushNew brush
See also
brush(), setBaseline(), baseline()

◆ setCurveAttribute()

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

Specify an attribute for drawing the curve.

Parameters
attributeCurve attribute
onOn/Off

/sa testCurveAttribute(), setCurveFitter()

◆ 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

◆ setLegendAttribute()

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

Specify an attribute how to draw the legend icon.

Parameters
attributeAttribute
onOn/Off /sa testLegendAttribute(). legendIcon()

◆ setLegendAttributes()

void QwtPlotCurve::setLegendAttributes ( LegendAttributes  attributes)

Specify the attributes how to draw the legend icon.

Parameters
attributesAttributes /sa setLegendAttribute(). legendIcon()

◆ setPaintAttribute()

void QwtPlotCurve::setPaintAttribute ( PaintAttribute  attribute,
bool  on = true 
)

Specify an attribute how to draw the curve.

Parameters
attributePaint attribute
onOn/Off
See also
testPaintAttribute()

◆ 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
colorPen color
widthPen width
stylePen style
See also
pen(), brush()

◆ setPen() [2/2]

void QwtPlotCurve::setPen ( const QPen &  pen)

Assign a pen.

Parameters
penNew pen
See also
pen(), brush()

◆ 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
xDatapointer to x data
yDatapointer to y data
sizesize of x and y
See also
QwtCPointerData

◆ 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
yDatapointer to y data
sizesize of x and y
See also
QwtCPointerData

◆ 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
xDatapointer to x data
yDatapointer to y data
sizesize of x and y
See also
QwtCPointerData

◆ 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
yDatapointer to y data
sizesize of x and y
See also
QwtCPointerData

◆ setSamples() [1/13]

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
xDatapointer to x values
yDatapointer to y values
sizesize of xData and yData
See also
QwtPointArrayData

◆ setSamples() [2/13]

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
yDatay data
sizesize of yData
See also
QwtValuePointData

◆ setSamples() [3/13]

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
xDatapointer to x values
yDatapointer to y values
sizesize of xData and yData
See also
QwtPointArrayData

◆ setSamples() [4/13]

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
yDatay data
sizesize of yData
See also
QwtValuePointData

◆ setSamples() [5/13]

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

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

Parameters
xDatax data
yDatay data
See also
QwtPointArrayData

◆ setSamples() [6/13]

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
yDatay data
See also
QwtValuePointData

◆ setSamples() [7/13]

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

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

Parameters
xDatax data
yDatay data
See also
QwtPointArrayData

◆ setSamples() [8/13]

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
yDatay data
See also
QwtValuePointData

◆ setSamples() [9/13]

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

Initialize data with an array of points.

Parameters
samplesVector of points
Note
QVector is implicitly shared
QPolygonF is derived from QVector<QPointF>

◆ setSamples() [10/13]

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

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

Parameters
xDatax data
yDatay data
See also
QwtPointArrayData

◆ setSamples() [11/13]

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

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

Parameters
xDatax data
yDatay data
See also
QwtPointArrayData

◆ setSamples() [12/13]

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

Initialize data with an array of points.

Parameters
samplesVector of points
Note
QVector is implicitly shared
QPolygonF is derived from QVector<QPointF>

◆ setSamples() [13/13]

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
dataData
Warning
The item takes ownership of the data object, deleting it when its not used anymore.

◆ setStyle()

void QwtPlotCurve::setStyle ( CurveStyle  style)

Set the curve's drawing style.

Parameters
styleCurve style
See also
style()

◆ 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
symbolSymbol
See also
symbol()

◆ style()

QwtPlotCurve::CurveStyle QwtPlotCurve::style ( ) const
Returns
Style of the curve
See also
setStyle()

◆ symbol()

const QwtSymbol * QwtPlotCurve::symbol ( ) const
Returns
Current symbol or NULL, when no symbol has been assigned
See also
setSymbol()

◆ testCurveAttribute()

bool QwtPlotCurve::testCurveAttribute ( CurveAttribute  attribute) const
Returns
true, if attribute is enabled
See also
setCurveAttribute()

◆ testLegendAttribute()

bool QwtPlotCurve::testLegendAttribute ( LegendAttribute  attribute) const
Returns
True, when attribute is enabled
See also
setLegendAttribute()

◆ testPaintAttribute()

bool QwtPlotCurve::testPaintAttribute ( PaintAttribute  attribute) const
Returns
True, when attribute is enabled
See also
setPaintAttribute()

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