QwtPlot

Langue: en

Version: 376086 (fedora - 01/12/10)

Section: 3 (Bibliothèques de fonctions)

Sommaire

NAME

QwtPlot -

A 2-D plotting widget.

SYNOPSIS


#include <qwt_plot.h>

Inherits QwtPlotDict.

Public Types


enum Axis { yLeft, yRight, xBottom, xTop, axisCnt }

enum LegendPosition { LeftLegend, RightLegend, BottomLegend, TopLegend, ExternalLegend }

Public Slots


virtual void clear ()

virtual void replot ()

void autoRefresh ()

Signals


void legendClicked (QwtPlotItem *plotItem)

void legendChecked (QwtPlotItem *plotItem, bool on)

Public Member Functions


QwtPlot (QWidget *=NULL)

QwtPlot (const QwtText &title, QWidget *p=NULL)

virtual ~QwtPlot ()

void applyProperties (const QString &)

QString grabProperties () const

void setAutoReplot (bool tf=true)

bool autoReplot () const

void print (QPaintDevice &p, const QwtPlotPrintFilter &=QwtPlotPrintFilter()) const

virtual void print (QPainter *, const QRect &rect, const QwtPlotPrintFilter &=QwtPlotPrintFilter()) const

QwtPlotLayout * plotLayout ()

const QwtPlotLayout * plotLayout () const

void setMargin (int margin)

int margin () const

void setTitle (const QString &)

void setTitle (const QwtText &t)

QwtText title () const

QwtTextLabel * titleLabel ()

const QwtTextLabel * titleLabel () const

QwtPlotCanvas * canvas ()

const QwtPlotCanvas * canvas () const

void setCanvasBackground (const QColor &c)

const QColor & canvasBackground () const

void setCanvasLineWidth (int w)

int canvasLineWidth () const

virtual QwtScaleMap canvasMap (int axisId) const

double invTransform (int axisId, int pos) const

int transform (int axisId, double value) const

QwtScaleEngine * axisScaleEngine (int axisId)

const QwtScaleEngine * axisScaleEngine (int axisId) const

void setAxisScaleEngine (int axisId, QwtScaleEngine *)

void setAxisAutoScale (int axisId)

bool axisAutoScale (int axisId) const

void enableAxis (int axisId, bool tf=true)

bool axisEnabled (int axisId) const

void setAxisFont (int axisId, const QFont &f)

QFont axisFont (int axisId) const

void setAxisScale (int axisId, double min, double max, double step=0)

void setAxisScaleDiv (int axisId, const QwtScaleDiv &)

void setAxisScaleDraw (int axisId, QwtScaleDraw *)

double axisStepSize (int axisId) const

const QwtScaleDiv * axisScaleDiv (int axisId) const

QwtScaleDiv * axisScaleDiv (int axisId)

const QwtScaleDraw * axisScaleDraw (int axisId) const

QwtScaleDraw * axisScaleDraw (int axisId)

const QwtScaleWidget * axisWidget (int axisId) const

QwtScaleWidget * axisWidget (int axisId)

void setAxisLabelAlignment (int axisId, Qt::Alignment)

void setAxisLabelRotation (int axisId, double rotation)

void setAxisTitle (int axisId, const QString &)

void setAxisTitle (int axisId, const QwtText &)

QwtText axisTitle (int axisId) const

void setAxisMaxMinor (int axisId, int maxMinor)

int axisMaxMajor (int axisId) const

void setAxisMaxMajor (int axisId, int maxMajor)

int axisMaxMinor (int axisId) const

void insertLegend (QwtLegend *, LegendPosition=QwtPlot::RightLegend, double ratio=-1.0)

QwtLegend * legend ()

const QwtLegend * legend () const

virtual void polish ()

virtual QSize sizeHint () const

virtual QSize minimumSizeHint () const

virtual void updateLayout ()

virtual void drawCanvas (QPainter *)

void updateAxes ()

virtual bool event (QEvent *)

Protected Slots


virtual void legendItemClicked ()

virtual void legendItemChecked (bool)

Protected Member Functions


virtual void drawItems (QPainter *, const QRect &, const QwtScaleMap maps[axisCnt], const QwtPlotPrintFilter &) const

virtual void updateTabOrder ()

virtual void resizeEvent (QResizeEvent *e)

virtual void printLegendItem (QPainter *, const QWidget *, const QRect &) const

virtual void printTitle (QPainter *, const QRect &) const

virtual void printScale (QPainter *, int axisId, int startDist, int endDist, int baseDist, const QRect &) const

virtual void printCanvas (QPainter *, const QRect &boundingRect, const QRect &canvasRect, const QwtScaleMap maps[axisCnt], const QwtPlotPrintFilter &) const

virtual void printLegend (QPainter *, const QRect &) const

Static Protected Member Functions


static bool axisValid (int axisId)

Detailed Description

A 2-D plotting widget.

QwtPlot is a widget for plotting two-dimensional graphs. An unlimited number of plot items can be displayed on its canvas. Plot items might be curves (QwtPlotCurve), markers (QwtPlotMarker), the grid (QwtPlotGrid), or anything else derived from QwtPlotItem. A plot can have up to four axes, with each plot item attached to an x- and a y axis. The scales at the axes can be explicitely set (QwtScaleDiv), or are calculated from the plot items, using algorithms (QwtScaleEngine) which can be configured separately for each axis.

Example.RS 4 The following example shows (schematically) the most simple way to use QwtPlot. By default, only the left and bottom axes are visible and their scales are computed automatically.

 
 #include <qwt_plot.h>
 #include <qwt_plot_curve.h>
 
 QwtPlot *myPlot = new QwtPlot("Two Curves", parent);
 
 // add curves
 QwtPlotCurve *curve1 = new QwtPlotCurve("Curve 1");
 QwtPlotCurve *curve2 = new QwtPlotCurve("Curve 2");
 
 // copy the data into the curves
 curve1->setData(...);
 curve2->setData(...);
 
 curve1->attach(myPlot);
 curve2->attach(myPlot);
 
 // finally, refresh the plot
 myPlot->replot();
 
 


 

Member Enumeration Documentation

enum QwtPlot::AxisAxis index

*
yLeft
*
yRight
*
xBottom
*
xTop

 

enum QwtPlot::LegendPositionPosition of the legend, relative to the canvas.

*
LeftLegend

 The legend will be left from the yLeft axis.
*
RightLegend

 The legend will be right from the yLeft axis.
*
BottomLegend

 The legend will be right below the xBottom axis.
*
TopLegend

 The legend will be between xTop axis and the title.
*
ExternalLegend

 External means that only the content of the legend will be handled by QwtPlot, but not its geometry. This might be interesting if an application wants to have a legend in an external window ( or on the canvas ).

Note:

In case of ExternalLegend, the legend is not printed by print().

See also:

insertLegend()

Constructor & Destructor Documentation

QwtPlot::QwtPlot (QWidget * parent = NULL) [explicit]

Constructor. Parameters:

parent Parent widget

QwtPlot::QwtPlot (const QwtText & title, QWidget * parent = NULL) [explicit]

Constructor. Parameters:

title Title text
parent Parent widget

QwtPlot::~QwtPlot () [virtual]

Destructor.

Member Function Documentation

void QwtPlot::applyProperties (const QString &)This method is intended for manipulating the plot widget from a specific editor in the Qwt designer plugin.

Warning:

The plot editor has never been implemented.

void QwtPlot::autoRefresh () [slot]

Replots the plot if QwtPlot::autoReplot() is true.

bool QwtPlot::autoReplot () constReturns:

true if the autoReplot option is set.

bool QwtPlot::axisAutoScale (int axisId) constReturns:

true if autoscaling is enabled

Parameters:

axisId axis index

bool QwtPlot::axisEnabled (int axisId) constReturns:

true if a specified axis is enabled

Parameters:

axisId axis index

QFont QwtPlot::axisFont (int axisId) constReturns:

the font of the scale labels for a specified axis

Parameters:

axisId axis index

int QwtPlot::axisMaxMajor (int axisId) constReturns:

the maximum number of major ticks for a specified axis

Parameters:

axisId axis index sa setAxisMaxMajor()

int QwtPlot::axisMaxMinor (int axisId) constReturns:

the maximum number of minor ticks for a specified axis

Parameters:

axisId axis index sa setAxisMaxMinor()

QwtScaleDiv * QwtPlot::axisScaleDiv (int axisId)

Return the scale division of a specified axis. axisScaleDiv(axisId)->lowerBound(), axisScaleDiv(axisId)->upperBound() are the current limits of the axis scale.

Parameters:

axisId axis index

Returns:

Scale division

See also:

QwtScaleDiv, setAxisScaleDiv()

const QwtScaleDiv * QwtPlot::axisScaleDiv (int axisId) const

Return the scale division of a specified axis. axisScaleDiv(axisId)->lowerBound(), axisScaleDiv(axisId)->upperBound() are the current limits of the axis scale.

Parameters:

axisId axis index

Returns:

Scale division

See also:

QwtScaleDiv, setAxisScaleDiv()

QwtScaleDraw * QwtPlot::axisScaleDraw (int axisId)Returns:

the scale draw of a specified axis

Parameters:

axisId axis index

Returns:

specified scaleDraw for axis, or NULL if axis is invalid.

See also:

QwtScaleDraw

const QwtScaleDraw * QwtPlot::axisScaleDraw (int axisId) constReturns:

the scale draw of a specified axis

Parameters:

axisId axis index

Returns:

specified scaleDraw for axis, or NULL if axis is invalid.

See also:

QwtScaleDraw

const QwtScaleEngine * QwtPlot::axisScaleEngine (int axisId) constParameters:

axisId axis index

Returns:

Scale engine for a specific axis

QwtScaleEngine * QwtPlot::axisScaleEngine (int axisId)Parameters:

axisId axis index

Returns:

Scale engine for a specific axis

double QwtPlot::axisStepSize (int axisId) constReturn the step size parameter, that has been set in setAxisScale. This doesn't need to be the step size of the current scale.

Parameters:

axisId axis index

Returns:

step size parameter value

See also:

setAxisScale()

QwtText QwtPlot::axisTitle (int axisId) constReturns:

the title of a specified axis

Parameters:

axisId axis index

bool QwtPlot::axisValid (int axisId) [static, protected]Returns:

true if the specified axis exists, otherwise false

Parameters:

axisId axis index

QwtScaleWidget * QwtPlot::axisWidget (int axisId)Returns:

specified axis, or NULL if axisId is invalid.

Parameters:

axisId axis index

const QwtScaleWidget * QwtPlot::axisWidget (int axisId) constReturns:

specified axis, or NULL if axisId is invalid.

Parameters:

axisId axis index

const QwtPlotCanvas * QwtPlot::canvas () constReturns:

the plot's canvas

QwtPlotCanvas * QwtPlot::canvas ()Returns:

the plot's canvas

const QColor & QwtPlot::canvasBackground () constNothing else than: canvas()->palette().color( QPalette::Normal, QColorGroup::Background);

Returns:

the background color of the plotting area.

int QwtPlot::canvasLineWidth () constNothing else than: canvas()->lineWidth(), left for compatibility only.

Returns:

the border width of the plotting area

QwtScaleMap QwtPlot::canvasMap (int axisId) const [virtual]Parameters:

axisId Axis

Returns:

Map for the axis on the canvas. With this map pixel coordinates can translated to plot coordinates and vice versa.

See also:

QwtScaleMap, transform(), invTransform()

void QwtPlot::clear () [virtual, slot]Remove all curves and markers

Deprecated

Use QwtPlotDeict::detachItems instead

void QwtPlot::drawCanvas (QPainter * painter) [virtual]Redraw the canvas.

Parameters:

painter Painter used for drawing

Warning:

drawCanvas calls drawItems what is also used for printing. Applications that like to add individual plot items better overload drawItems()

See also:

drawItems()

void QwtPlot::drawItems (QPainter * painter, const QRect & rect, const QwtScaleMap map[axisCnt], const QwtPlotPrintFilter & pfilter) const [protected, virtual]Redraw the canvas items.

Parameters:

painter Painter used for drawing
rect Bounding rectangle where to paint
map QwtPlot::axisCnt maps, mapping between plot and paint device coordinates
pfilter Plot print filter

void QwtPlot::enableAxis (int axisId, bool tf = true)

Enable or disable a specified axis. When an axis is disabled, this only means that it is not visible on the screen. Curves, markers and can be attached to disabled axes, and transformation of screen coordinates into values works as normal.

Only xBottom and yLeft are enabled by default.

Parameters:

axisId axis index
tf true (enabled) or false (disabled)

bool QwtPlot::event (QEvent * e) [virtual]

Adds handling of layout requests.

QString QwtPlot::grabProperties () constThis method is intended for manipulating the plot widget from a specific editor in the Qwt designer plugin.

Warning:

The plot editor has never been implemented.

void QwtPlot::insertLegend (QwtLegend * legend, QwtPlot::LegendPosition pos = QwtPlot::RightLegend, double ratio = -1.0)

Insert a legend. If the position legend is QwtPlot::LeftLegend or QwtPlot::RightLegend the legend will be organized in one column from top to down. Otherwise the legend items will be placed in a table with a best fit number of columns from left to right.

If pos != QwtPlot::ExternalLegend the plot widget will become parent of the legend. It will be deleted when the plot is deleted, or another legend is set with insertLegend().

Parameters:

legend Legend
pos The legend's position. For top/left position the number of colums will be limited to 1, otherwise it will be set to unlimited.
ratio Ratio between legend and the bounding rect of title, canvas and axes. The legend will be shrinked if it would need more space than the given ratio. The ratio is limited to ]0.0 .. 1.0]. In case of <= 0.0 it will be reset to the default ratio. The default vertical/horizontal ratio is 0.33/0.5.

See also:

legend(), QwtPlotLayout::legendPosition(), QwtPlotLayout::setLegendPosition()

double QwtPlot::invTransform (int axisId, int pos) constTransform the x or y coordinate of a position in the drawing region into a value.

Parameters:

axisId axis index
pos position

Warning:

The position can be an x or a y coordinate, depending on the specified axis.

const QwtLegend * QwtPlot::legend () constReturns:

the plot's legend

See also:

insertLegend()

QwtLegend * QwtPlot::legend ()Returns:

the plot's legend

See also:

insertLegend()

void QwtPlot::legendChecked (QwtPlotItem * plotItem, bool on) [signal]A signal which is emitted when the user has clicked on a legend item, which is in QwtLegend::CheckableItem mode

Parameters:

plotItem Corresponding plot item of the selected legend item
on True when the legen item is checked

Note:

clicks are disabled as default

See also:

QwtLegend::setItemMode(), QwtLegend::itemMode()

void QwtPlot::legendClicked (QwtPlotItem * plotItem) [signal]A signal which is emitted when the user has clicked on a legend item, which is in QwtLegend::ClickableItem mode.

Parameters:

plotItem Corresponding plot item of the selected legend item

Note:

clicks are disabled as default

See also:

QwtLegend::setItemMode(), QwtLegend::itemMode()

void QwtPlot::legendItemChecked (bool on) [protected, virtual, slot]Called internally when the legend has been checked Emits a legendClicked() signal.

void QwtPlot::legendItemClicked () [protected, virtual, slot]Called internally when the legend has been clicked on. Emits a legendClicked() signal.

int QwtPlot::margin () constReturns:

margin

See also:

setMargin(), QwtPlotLayout::margin(), plotLayout()

QSize QwtPlot::minimumSizeHint () const [virtual]

Return a minimum size hint.

const QwtPlotLayout * QwtPlot::plotLayout () constReturns:

the plot's titel label.

QwtPlotLayout * QwtPlot::plotLayout ()Returns:

the plot's title

void QwtPlot::polish () [virtual]

Polish.

void QwtPlot::print (QPainter * painter, const QRect & plotRect, const QwtPlotPrintFilter & pfilter = QwtPlotPrintFilter()) const [virtual]

Paint the plot into a given rectangle. Paint the contents of a QwtPlot instance into a given rectangle. Parameters:

painter Painter
plotRect Bounding rectangle
pfilter Print filter

See also:

QwtPlotPrintFilter

void QwtPlot::print (QPaintDevice & paintDev, const QwtPlotPrintFilter & pfilter = QwtPlotPrintFilter()) const

Print the plot to a QPaintDevice (QPrinter) This function prints the contents of a QwtPlot instance to QPaintDevice object. The size is derived from its device metrics. Parameters:

paintDev device to paint on, often a printer
pfilter print filter

See also:

QwtPlotPrintFilter

void QwtPlot::printCanvas (QPainter * painter, const QRect & boundingRect, const QRect & canvasRect, const QwtScaleMap map[axisCnt], const QwtPlotPrintFilter & pfilter) const [protected, virtual]Print the canvas into a given rectangle.

Parameters:

painter Painter
map Maps mapping between plot and paint device coordinates
boundingRect Bounding rectangle
canvasRect Canvas rectangle
pfilter Print filter

See also:

QwtPlotPrintFilter

void QwtPlot::printLegend (QPainter * painter, const QRect & rect) const [protected, virtual]Print the legend into a given rectangle.

Parameters:

painter Painter
rect Bounding rectangle

void QwtPlot::printLegendItem (QPainter * painter, const QWidget * w, const QRect & rect) const [protected, virtual]Print the legend item into a given rectangle.

Parameters:

painter Painter
w Widget representing a legend item
rect Bounding rectangle

void QwtPlot::printScale (QPainter * painter, int axisId, int startDist, int endDist, int baseDist, const QRect & rect) const [protected, virtual]

Paint a scale into a given rectangle. Paint the scale into a given rectangle. Parameters:

painter Painter
axisId Axis
startDist Start border distance
endDist End border distance
baseDist Base distance
rect Bounding rectangle

void QwtPlot::printTitle (QPainter * painter, const QRect & rect) const [protected, virtual]Print the title into a given rectangle.

Parameters:

painter Painter
rect Bounding rectangle

void QwtPlot::replot () [virtual, slot]

Redraw the plot. If the autoReplot option is not set (which is the default) or if any curves are attached to raw data, the plot has to be refreshed explicitly in order to make changes visible.

See also:

setAutoReplot()

Warning:

Calls canvas()->repaint, take care of infinite recursions

void QwtPlot::resizeEvent (QResizeEvent * e) [protected, virtual]Resize and update internal layout

Parameters:

e Resize event

void QwtPlot::setAutoReplot (bool tf = true)

Set or reset the autoReplot option. If the autoReplot option is set, the plot will be updated implicitly by manipulating member functions. Since this may be time-consuming, it is recommended to leave this option switched off and call replot() explicitly if necessary.

The autoReplot option is set to false by default, which means that the user has to call replot() in order to make changes visible.

Parameters:

tf true or false. Defaults to true.

See also:

replot()

void QwtPlot::setAxisAutoScale (int axisId)

Enable autoscaling for a specified axis. This member function is used to switch back to autoscaling mode after a fixed scale has been set. Autoscaling is enabled by default.

Parameters:

axisId axis index

See also:

setAxisScale(), setAxisScaleDiv()

void QwtPlot::setAxisFont (int axisId, const QFont & f)

Change the font of an axis. Parameters:

axisId axis index
f font

Warning:

This function changes the font of the tick labels, not of the axis title.

void QwtPlot::setAxisLabelAlignment (int axisId, Qt::Alignment alignment)Change the alignment of the tick labels

Parameters:

axisId axis index
alignment Or'd Qt::AlignmentFlags <see qnamespace.h>

See also:

QwtScaleDraw::setLabelAlignment()

void QwtPlot::setAxisLabelRotation (int axisId, double rotation)Rotate all tick labels

Parameters:

axisId axis index
rotation Angle in degrees. When changing the label rotation, the label alignment might be adjusted too.

See also:

QwtScaleDraw::setLabelRotation(), setAxisLabelAlignment()

void QwtPlot::setAxisMaxMajor (int axisId, int maxMajor)Set the maximum number of major scale intervals for a specified axis

Parameters:

axisId axis index
maxMajor maximum number of major steps

See also:

axisMaxMajor()

void QwtPlot::setAxisMaxMinor (int axisId, int maxMinor)Set the maximum number of minor scale intervals for a specified axis

Parameters:

axisId axis index
maxMinor maximum number of minor steps

See also:

axisMaxMinor()

void QwtPlot::setAxisScale (int axisId, double min, double max, double stepSize = 0)

Disable autoscaling and specify a fixed scale for a selected axis. Parameters:

axisId axis index
min
max minimum and maximum of the scale
stepSize Major step size. If step == 0, the step size is calculated automatically using the maxMajor setting.

See also:

setAxisMaxMajor(), setAxisAutoScale()

void QwtPlot::setAxisScaleDiv (int axisId, const QwtScaleDiv & scaleDiv)

Disable autoscaling and specify a fixed scale for a selected axis. Parameters:

axisId axis index
scaleDiv Scale division

See also:

setAxisScale(), setAxisAutoScale()

void QwtPlot::setAxisScaleDraw (int axisId, QwtScaleDraw * scaleDraw)

Set a scale draw. Parameters:

axisId axis index
scaleDraw object responsible for drawing scales.

By passing scaleDraw it is possible to extend QwtScaleDraw functionality and let it take place in QwtPlot. Please note that scaleDraw has to be created with new and will be deleted by the corresponding QwtScale member ( like a child object ).

See also:

QwtScaleDraw, QwtScaleWidget

Warning:

The attributes of scaleDraw will be overwritten by those of the previous QwtScaleDraw.

void QwtPlot::setAxisScaleEngine (int axisId, QwtScaleEngine * scaleEngine)Change the scale engine for an axis

Parameters:

axisId axis index
scaleEngine Scale engine

See also:

axisScaleEngine()

void QwtPlot::setAxisTitle (int axisId, const QwtText & title)

Change the title of a specified axis. Parameters:

axisId axis index
title axis title

void QwtPlot::setAxisTitle (int axisId, const QString & title)

Change the title of a specified axis. Parameters:

axisId axis index
title axis title

void QwtPlot::setCanvasBackground (const QColor & c)

Change the background of the plotting area. Sets c to QColorGroup::Background of all colorgroups of the palette of the canvas. Using canvas()->setPalette() is a more powerful way to set these colors.

Parameters:

c new background color

void QwtPlot::setCanvasLineWidth (int w)

Change the border width of the plotting area Nothing else than canvas()->setLineWidth(w), left for compatibility only. Parameters:

w new border width

void QwtPlot::setMargin (int margin)Change the margin of the plot. The margin is the space around all components.

Parameters:

margin new margin

See also:

QwtPlotLayout::setMargin(), margin(), plotLayout()

void QwtPlot::setTitle (const QwtText & title)Change the plot's title

Parameters:

title New title

void QwtPlot::setTitle (const QString & title)Change the plot's title

Parameters:

title New title

QSize QwtPlot::sizeHint () const [virtual]Return sizeHint

See also:

minimumSizeHint()

QwtText QwtPlot::title () constReturns:

the plot's title

const QwtTextLabel * QwtPlot::titleLabel () constReturns:

the plot's titel label.

QwtTextLabel * QwtPlot::titleLabel ()Returns:

the plot's titel label.

int QwtPlot::transform (int axisId, double value) const

Transform a value into a coordinate in the plotting region. Parameters:

axisId axis index
value value

Returns:

X or y coordinate in the plotting region corresponding to the value.

void QwtPlot::updateAxes ()

Rebuild the scales.

void QwtPlot::updateLayout () [virtual]

Adjust plot content to its current size. See also:

resizeEvent()

void QwtPlot::updateTabOrder () [protected, virtual]Update the focus tab order

The order is changed so that the canvas will be in front of the first legend item, or behind the last legend item - depending on the position of the legend.

Author

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