Provided by: libqwt5-doc_5.2.3-1_all
NAME
QwtPlotCurve -
SYNOPSIS
#include <qwt_plot_curve.h> Inherits QwtPlotItem. Public Types enum CurveAttribute { Inverted = 1, Fitted = 2 } enum CurveStyle { NoCurve, Lines, Sticks, Steps, Dots, UserCurve = 100 } enum CurveType { Yfx, Xfy } enum PaintAttribute { PaintFiltered = 1, ClipPolygons = 2 } Public Member Functions QwtPlotCurve () QwtPlotCurve (const QwtText &title) QwtPlotCurve (const QString &title) virtual ~QwtPlotCurve () double baseline () const virtual QwtDoubleRect boundingRect () const const QBrush & brush () const int closestPoint (const QPoint &pos, double *dist=NULL) const QwtCurveFitter * curveFitter () const CurveType curveType () const QwtData & data () const QwtData & data () const int dataSize () const virtual void draw (QPainter *p, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRect &) const virtual void draw (QPainter *p, const QwtScaleMap &xMap, const QwtScaleMap &yMap, int from, int to) const void draw (int from, int to) const double maxXValue () const double maxYValue () const double minXValue () const double minYValue () const const QPen & pen () const virtual int rtti () const void setBaseline (double ref) void setBrush (const QBrush &) void setCurveAttribute (CurveAttribute, bool on=true) void setCurveFitter (QwtCurveFitter *) void setCurveType (CurveType) void setData (const double *xData, const double *yData, int size) void setData (const QwtArray< double > &xData, const QwtArray< double > &yData) void setData (const QPolygonF &data) void setData (const QwtData &data) void setPaintAttribute (PaintAttribute, bool on=true) void setPen (const QPen &) void setRawData (const double *x, const double *y, int size) void setStyle (CurveStyle style) void setSymbol (const QwtSymbol &s) CurveStyle style () const const QwtSymbol & symbol () const bool testCurveAttribute (CurveAttribute) const bool testPaintAttribute (PaintAttribute) const virtual void updateLegend (QwtLegend *) const double x (int i) const double y (int i) const Protected Member Functions void closePolyline (const QwtScaleMap &, const QwtScaleMap &, QwtPolygon &) const virtual void drawCurve (QPainter *p, int style, const QwtScaleMap &xMap, const QwtScaleMap &yMap, int from, int to) const void drawDots (QPainter *p, const QwtScaleMap &xMap, const QwtScaleMap &yMap, int from, int to) const void drawLines (QPainter *p, const QwtScaleMap &xMap, const QwtScaleMap &yMap, int from, int to) const void drawSteps (QPainter *p, const QwtScaleMap &xMap, const QwtScaleMap &yMap, int from, int to) const void drawSticks (QPainter *p, const QwtScaleMap &xMap, const QwtScaleMap &yMap, int from, int to) const virtual void drawSymbols (QPainter *p, const QwtSymbol &, const QwtScaleMap &xMap, const QwtScaleMap &yMap, int from, int to) const void fillCurve (QPainter *, const QwtScaleMap &, const QwtScaleMap &, QwtPolygon &) const void init ()
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 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 QwtData object offering a bridge to the real storage of the points ( like QAbstractItemModel ). There are several convenience classes derived from QwtData, that also store the points inside ( like QStandardItemModel ). QwtPlotCurve also offers a couple of variations of setData(), that build QwtData objects from arrays internally. c) Attach the curve to a plot See QwtPlotItem::attach() Example: see examples/bode See also: QwtPlot, QwtData, QwtSymbol, QwtScaleMap
Member Enumeration Documentation
enum QwtPlotCurve::CurveAttribute Attribute for drawing the curve • Fitted ( in combination with the Lines QwtPlotCurve::CurveStyle only ) A QwtCurveFitter tries to interpolate/smooth the curve, before it is painted. Note that curve fitting requires temorary memory for calculating coefficients and additional points. If painting in Fitted mode is slow it might be better to fit the points, before they are passed to QwtPlotCurve. • Inverted For Steps only. Draws a step function from the right to the left. See also: setCurveAttribute(), testCurveAttribute(), curveFitter() enum QwtPlotCurve::CurveStyle Curve styles. • 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(Yfx) or horizontal(Xfy) sticks 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 '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 NoStyle style and a symbol painting a point. • UserCurve Styles >= UserCurve are reserved for derived classes of QwtPlotCurve that overload drawCurve() with additional application specific curve types. See also: setStyle(), style() enum QwtPlotCurve::CurveType Curve type. • Yfx Draws y as a function of x (the default). The baseline is interpreted as a horizontal line with y = baseline(). • Xfy Draws x as a function of y. The baseline is interpreted as a vertical line with x = baseline(). The baseline is used for aligning the sticks, or filling the curve with a brush. See also: setCurveType(), curveType(), baseline() brush() enum QwtPlotCurve::PaintAttribute Attributes to modify the drawing algorithm. • PaintFiltered 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 algos are implemented. • 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 ( especially on Windows ). The default is, that no paint attributes are enabled. See also: setPaintAttribute(), testPaintAttribute()
Constructor & Destructor Documentation
QwtPlotCurve::QwtPlotCurve (const QwtText &title) [explicit] Constructor Parameters: title Title of the curve QwtPlotCurve::QwtPlotCurve (const QString &title) [explicit] Constructor Parameters: title Title of the curve
Member Function Documentation
double QwtPlotCurve::baseline () const Return the value of the baseline See also: setBaseline() QwtDoubleRect QwtPlotCurve::boundingRect () const [virtual] Returns the bounding rectangle of the curve data. If there is no bounding rect, like for empty data the rectangle is invalid. See also: QwtData::boundingRect(), QwtDoubleRect::isValid() Reimplemented from QwtPlotItem. const QBrush & QwtPlotCurve::brush () const Return the brush used to fill the area between lines and the baseline. See also: setBrush(), setBaseline(), baseline() void QwtPlotCurve::closePolyline (const QwtScaleMap &xMap, const QwtScaleMap &yMap, QwtPolygon &pa) const [protected] Complete a polygon to be a closed polygon including the area between the original polygon and the baseline. Parameters: xMap X map yMap Y map pa Polygon to be completed int QwtPlotCurve::closestPoint (const QPoint &pos, double *dist = NULL) const 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 clostest 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 QwtCurveFitter * QwtPlotCurve::curveFitter () const Get the curve fitter. If curve fitting is disabled NULL is returned. Returns: Curve fitter QwtPlotCurve::CurveType QwtPlotCurve::curveType () const Return the curve type See also: CurveType, setCurveType() QwtData & QwtPlotCurve::data () [inline] Returns: the the curve data const QwtData & QwtPlotCurve::data () const [inline] Returns: the the curve data int QwtPlotCurve::dataSize () const Return the size of the data arrays See also: setData() void QwtPlotCurve::draw (QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRect &canvasRect) const [virtual] Draw the complete curve. Parameters: painter Painter xMap Maps x-values into pixel coordinates. yMap Maps y-values into pixel coordinates. See also: drawCurve(), drawSymbols() Implements QwtPlotItem. void QwtPlotCurve::draw (QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap &yMap, intfrom, intto) const [virtual] Draw an interval of the curve. Parameters: painter Painter xMap maps x-values into pixel coordinates. yMap maps y-values into pixel coordinates. 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(), void QwtPlotCurve::draw (intfrom, intto) const Draw a set of points of a curve. When observing an measurement while it is running, new points have to be added to an existing curve. drawCurve can be used to display them avoiding a complete redraw of the canvas. Setting plot()->canvas()->setAttribute(Qt::WA_PaintOutsidePaintEvent, true); will result in faster painting, if the paint engine of the canvas widget supports this feature. Parameters: 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() void QwtPlotCurve::drawCurve (QPainter *painter, intstyle, const QwtScaleMap &xMap, const QwtScaleMap &yMap, intfrom, intto) 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 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() void QwtPlotCurve::drawDots (QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap &yMap, intfrom, intto) const [protected] Draw dots Parameters: painter Painter xMap x map yMap y map 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() void QwtPlotCurve::drawLines (QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap &yMap, intfrom, intto) const [protected] 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 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() void QwtPlotCurve::drawSteps (QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap &yMap, intfrom, intto) const [protected] Draw step function The direction of the steps depends on Inverted attribute. Parameters: painter Painter xMap x map yMap y map 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() void QwtPlotCurve::drawSticks (QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap &yMap, intfrom, intto) const [protected] Draw sticks Parameters: painter Painter xMap x map yMap y map 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() void QwtPlotCurve::drawSymbols (QPainter *painter, const QwtSymbol &symbol, const QwtScaleMap &xMap, const QwtScaleMap &yMap, intfrom, intto) const [protected], [virtual] Draw symbols. Parameters: painter Painter symbol Curve symbol xMap x map yMap y map from index of the first point to be painted to index of the last point to be painted See also: setSymbol(), draw(), drawCurve() void QwtPlotCurve::fillCurve (QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap &yMap, QwtPolygon &pa) const [protected] Fill the area between the curve and the baseline with the curve brush Parameters: painter Painter xMap x map yMap y map pa Polygon See also: setBrush(), setBaseline(), setCurveType() const QPen & QwtPlotCurve::pen () const Return the pen used to draw the lines. See also: setPen(), brush() int QwtPlotCurve::rtti () const [virtual] Returns: QwtPlotItem::Rtti_PlotCurve Reimplemented from QwtPlotItem. void QwtPlotCurve::setBaseline (doublereference) Set the value of the baseline. The baseline is needed for filling the curve with a brush or the Sticks drawing style. The default value is 0.0. The interpretation of the baseline depends on the CurveType. With QwtPlotCurve::Yfx, the baseline is interpreted as a horizontal line at y = baseline(), with QwtPlotCurve::Yfy, it is interpreted as a vertical line at x = baseline(). Parameters: reference baseline See also: baseline(), setBrush(), setStyle(), setCurveType() 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() void QwtPlotCurve::setCurveAttribute (CurveAttributeattribute, boolon = true) Specify an attribute for drawing the curve Parameters: attribute Curve attribute on On/Off /sa CurveAttribute, testCurveAttribute(), setCurveFitter() void QwtPlotCurve::setCurveFitter (QwtCurveFitter *curveFitter) Assign a curve fitter setCurveFitter(NULL) disables curve fitting. Parameters: curveFitter Curve fitter void QwtPlotCurve::setCurveType (CurveTypecurveType) Assign the curve type Parameters: curveType Yfx or Xfy See also: CurveType, curveType() void QwtPlotCurve::setData (const double *xData, const double *yData, intsize) Set data by copying x- and y-values from specified memory blocks. Contrary to setCurveRawData(), 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 Note: Internally the data is stored in a QwtArrayData object void QwtPlotCurve::setData (const QwtArray< double > &xData, const QwtArray< double > &yData) Initialize data with x- and y-arrays (explicitly shared) ( Builds an QwtArrayData object internally ) Parameters: xData x data yData y data Note: Internally the data is stored in a QwtArrayData object void QwtPlotCurve::setData (const QPolygonF &data) Initialize data with an array of points (explicitly shared). Parameters: data Data Note: Internally the data is stored in a QwtPolygonFData object void QwtPlotCurve::setData (const QwtData &data) Initialize data with a pointer to QwtData. Parameters: data Data See also: QwtData::copy() void QwtPlotCurve::setPaintAttribute (PaintAttributeattribute, boolon = true) Specify an attribute how to draw the curve Parameters: attribute Paint attribute on On/Off /sa PaintAttribute, testPaintAttribute() void QwtPlotCurve::setPen (const QPen &pen) Assign a pen The width of non cosmetic pens is scaled according to the resolution of the paint device. Parameters: pen New pen See also: pen(), brush(), QwtPainter::scaledPen() void QwtPlotCurve::setRawData (const double *xData, const double *yData, intsize) Initialize the data by pointing to memory blocks which are not managed by QwtPlotCurve. setRawData 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 Note: Internally the data is stored in a QwtCPointerData object void QwtPlotCurve::setStyle (CurveStylestyle) Set the curve's drawing style Parameters: style Curve style See also: CurveStyle, style() void QwtPlotCurve::setSymbol (const QwtSymbol &symbol) Assign a symbol. Parameters: symbol Symbol See also: symbol() QwtPlotCurve::CurveStyle QwtPlotCurve::style () const Return the current style See also: CurveStyle, setStyle() const QwtSymbol & QwtPlotCurve::symbol () const Return the current symbol. See also: setSymbol() bool QwtPlotCurve::testCurveAttribute (CurveAttributeattribute) const Returns: true, if attribute is enabled See also: CurveAttribute, setCurveAttribute() bool QwtPlotCurve::testPaintAttribute (PaintAttributeattribute) const Return the current paint attributes. See also: PaintAttribute, setPaintAttribute() double QwtPlotCurve::x (inti) const [inline] Parameters: i index Returns: x-value at position i double QwtPlotCurve::y (inti) const [inline] Parameters: i index Returns: y-value at position i
Author
Generated automatically by Doxygen for Qwt User's Guide from the source code.