DragonFly On-Line Manual Pages

Search:
Section:

QwtPlotCurve(3) Qwt User's Guide QwtPlotCurve(3)

NAME

QwtPlotCurve -

SYNOPSIS

#include <qwt_plot_curve.h>
Inherits QwtPlotItem.
PublicTypes
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 }
PublicMemberFunctionsQwtPlotCurve ()
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
CurveTypecurveType () 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 (CurveStylestyle)
void setSymbol (const QwtSymbol &s)
CurveStylestyle () 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
ProtectedMemberFunctions
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.
Usagea)Assigncurveproperties
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/Assigndata.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)Attachthecurvetoaplot
See QwtPlotItem::attach()Example:
see examples/bode
Seealso:QwtPlot, QwtData, QwtSymbol, QwtScaleMap
Member Enumeration Documentation
enumQwtPlotCurve::CurveAttribute
Attribute for drawing the curve
o 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.
o Inverted
For Steps only. Draws a step function from the right to the left.
Seealso:setCurveAttribute(), testCurveAttribute(), curveFitter()enumQwtPlotCurve::CurveStyle
Curve styles.
o NoCurve
Don't draw a curve. Note: This doesn't affect the symbols.
o Lines
Connect the points with straight lines. The lines might be
interpolated depending on the 'Fitted' attribute. Curve fitting can
be configured using setCurveFitter().
o Sticks
Draw vertical(Yfx) or horizontal(Xfy) sticks from a baseline which
is defined by setBaseline().
o 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.
o 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.
o UserCurve
Styles >= UserCurve are reserved for derived classes of QwtPlotCurve
that overload drawCurve() with additional application specific curve
types.
Seealso:setStyle(), style()enumQwtPlotCurve::CurveType
Curve type.
o Yfx
Draws y as a function of x (the default). The baseline is
interpreted as a horizontal line with y = baseline().
o 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.
Seealso:setCurveType(), curveType(), baseline()brush()enumQwtPlotCurve::PaintAttribute
Attributes to modify the drawing algorithm.
o 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.
o 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.
Seealso:setPaintAttribute(), testPaintAttribute()
Constructor & Destructor Documentation
QwtPlotCurve::QwtPlotCurve(constQwtText&title)[explicit]
Constructor
Parameters:title Title of the curve
QwtPlotCurve::QwtPlotCurve(constQString&title)[explicit]
Constructor
Parameters:title Title of the curve
Member Function Documentation
doubleQwtPlotCurve::baseline()const
Return the value of the baseline
Seealso:setBaseline()QwtDoubleRectQwtPlotCurve::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.
Seealso:QwtData::boundingRect(), QwtDoubleRect::isValid()
Reimplemented from QwtPlotItem.
constQBrush&QwtPlotCurve::brush()const
Return the brush used to fill the area between lines and the baseline.
Seealso:setBrush(), setBaseline(), baseline()voidQwtPlotCurve::closePolyline(constQwtScaleMap&xMap,constQwtScaleMap&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
intQwtPlotCurve::closestPoint(constQPoint&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::CurveTypeQwtPlotCurve::curveType()const
Return the curve type
Seealso:CurveType, setCurveType()QwtData&QwtPlotCurve::data()[inline]Returns:
the the curve data
constQwtData&QwtPlotCurve::data()const[inline]Returns:
the the curve data
intQwtPlotCurve::dataSize()const
Return the size of the data arrays
Seealso:setData()voidQwtPlotCurve::draw(QPainter*painter,constQwtScaleMap&xMap,constQwtScaleMap&yMap,constQRect&canvasRect)const[virtual]
Draw the complete curve. Parameters:painter Painter
xMap Maps x-values into pixel coordinates.
yMap Maps y-values into pixel coordinates.
Seealso:drawCurve(), drawSymbols()
Implements QwtPlotItem.
voidQwtPlotCurve::draw(QPainter*painter,constQwtScaleMap&xMap,constQwtScaleMap&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.
Seealso:drawCurve(), drawSymbols(),
voidQwtPlotCurve::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.
Seealso:drawCurve(), drawSymbols()voidQwtPlotCurve::drawCurve(QPainter*painter,intstyle,constQwtScaleMap&xMap,constQwtScaleMap&yMap,intfrom,intto)const[protected],[virtual]
Draw the line part (without symbols) of a curve interval. Parameters:painter Painter
style curve style, see QwtPlotCurve::CurveStylexMap x map
yMap y map
from index of the first point to be painted
to index of the last point to be painted
Seealso:draw(), drawDots(), drawLines(), drawSteps(), drawSticks()voidQwtPlotCurve::drawDots(QPainter*painter,constQwtScaleMap&xMap,constQwtScaleMap&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
Seealso:draw(), drawCurve(), drawSticks(), drawLines(), drawSteps()voidQwtPlotCurve::drawLines(QPainter*painter,constQwtScaleMap&xMap,constQwtScaleMap&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
Seealso:setCurveAttribute(), setCurveFitter(), draw(), drawLines(),
drawDots(), drawSteps(), drawSticks()voidQwtPlotCurve::drawSteps(QPainter*painter,constQwtScaleMap&xMap,constQwtScaleMap&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
Seealso:CurveAttribute, setCurveAttribute(), draw(), drawCurve(),
drawDots(), drawLines(), drawSticks()voidQwtPlotCurve::drawSticks(QPainter*painter,constQwtScaleMap&xMap,constQwtScaleMap&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
Seealso:draw(), drawCurve(), drawDots(), drawLines(), drawSteps()voidQwtPlotCurve::drawSymbols(QPainter*painter,constQwtSymbol&symbol,constQwtScaleMap&xMap,constQwtScaleMap&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
Seealso:setSymbol(), draw(), drawCurve()voidQwtPlotCurve::fillCurve(QPainter*painter,constQwtScaleMap&xMap,constQwtScaleMap&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
Seealso:setBrush(), setBaseline(), setCurveType()constQPen&QwtPlotCurve::pen()const
Return the pen used to draw the lines. Seealso:setPen(), brush()intQwtPlotCurve::rtti()const[virtual]Returns:
QwtPlotItem::Rtti_PlotCurve
Reimplemented from QwtPlotItem.
voidQwtPlotCurve::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
Seealso:baseline(), setBrush(), setStyle(), setCurveType()voidQwtPlotCurve::setBrush(constQBrush&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
Seealso:brush(), setBaseline(), baseline()voidQwtPlotCurve::setCurveAttribute(CurveAttributeattribute,boolon=true)
Specify an attribute for drawing the curve
Parameters:attribute Curve attribute
on On/Off
/sa CurveAttribute, testCurveAttribute(), setCurveFitter()voidQwtPlotCurve::setCurveFitter(QwtCurveFitter*curveFitter)
Assign a curve fitter setCurveFitter(NULL) disables curve fitting.
Parameters:curveFitter Curve fitter
voidQwtPlotCurve::setCurveType(CurveTypecurveType)
Assign the curve type
Parameters:curveType Yfx or Xfy
Seealso:CurveType, curveType()voidQwtPlotCurve::setData(constdouble*xData,constdouble*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
voidQwtPlotCurve::setData(constQwtArray<double>&xData,constQwtArray<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
voidQwtPlotCurve::setData(constQPolygonF&data)
Initialize data with an array of points (explicitly shared).
Parameters:data Data
Note:
Internally the data is stored in a QwtPolygonFData object
voidQwtPlotCurve::setData(constQwtData&data)
Initialize data with a pointer to QwtData.
Parameters:data Data
Seealso:QwtData::copy()voidQwtPlotCurve::setPaintAttribute(PaintAttributeattribute,boolon=true)
Specify an attribute how to draw the curve
Parameters:attribute Paint attribute
on On/Off /sa PaintAttribute, testPaintAttribute()voidQwtPlotCurve::setPen(constQPen&pen)
Assign a pen
The width of non cosmetic pens is scaled according to the resolution of
the paint device.
Parameters:pen New pen
Seealso:pen(), brush(), QwtPainter::scaledPen()voidQwtPlotCurve::setRawData(constdouble*xData,constdouble*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
voidQwtPlotCurve::setStyle(CurveStylestyle)
Set the curve's drawing style
Parameters:style Curve style
Seealso:CurveStyle, style()voidQwtPlotCurve::setSymbol(constQwtSymbol&symbol)
Assign a symbol. Parameters:symbol Symbol
Seealso:symbol()QwtPlotCurve::CurveStyleQwtPlotCurve::style()const
Return the current style
Seealso:CurveStyle, setStyle()constQwtSymbol&QwtPlotCurve::symbol()const
Return the current symbol. Seealso:setSymbol()boolQwtPlotCurve::testCurveAttribute(CurveAttributeattribute)constReturns:
true, if attribute is enabled
Seealso:CurveAttribute, setCurveAttribute()boolQwtPlotCurve::testPaintAttribute(PaintAttributeattribute)const
Return the current paint attributes. Seealso:PaintAttribute, setPaintAttribute()doubleQwtPlotCurve::x(inti)const[inline]Parameters:i index
Returns:
x-value at position i
doubleQwtPlotCurve::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.
Version 5.2.3 Tue Nov 20 2012 QwtPlotCurve(3)