DragonFly On-Line Manual Pages
QwtPlot(3) Qwt User's Guide QwtPlot(3)
NAME
QwtPlot -
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
void autoRefresh ()
virtual void clear ()
virtual void replot ()
Signals
void legendChecked (QwtPlotItem *plotItem, bool on)
void legendClicked (QwtPlotItem *plotItem)
Public Member Functions
QwtPlot (QWidget *=NULL)
QwtPlot (const QwtText &title, QWidget *p=NULL)
virtual ~QwtPlot ()
void applyProperties (const QString &)
bool autoReplot () const
bool axisAutoScale (int axisId) const
bool axisEnabled (int axisId) const
QFont axisFont (int axisId) const
int axisMaxMajor (int axisId) const
int axisMaxMinor (int axisId) const
const QwtScaleDiv * axisScaleDiv (int axisId) const
QwtScaleDiv * axisScaleDiv (int axisId)
const QwtScaleDraw * axisScaleDraw (int axisId) const
QwtScaleDraw * axisScaleDraw (int axisId)
QwtScaleEngine * axisScaleEngine (int axisId)
const QwtScaleEngine * axisScaleEngine (int axisId) const
double axisStepSize (int axisId) const
QwtText axisTitle (int axisId) const
const QwtScaleWidget * axisWidget (int axisId) const
QwtScaleWidget * axisWidget (int axisId)
QwtPlotCanvas * canvas ()
const QwtPlotCanvas * canvas () const
const QColor & canvasBackground () const
int canvasLineWidth () const
virtual QwtScaleMap canvasMap (int axisId) const
virtual void drawCanvas (QPainter *)
void enableAxis (int axisId, bool tf=true)
virtual bool event (QEvent *)
QString grabProperties () const
void insertLegend (QwtLegend *, LegendPosition=QwtPlot::RightLegend,
double ratio=-1.0)
double invTransform (int axisId, int pos) const
QwtLegend * legend ()
const QwtLegend * legend () const
int margin () const
virtual QSize minimumSizeHint () const
QwtPlotLayout * plotLayout ()
const QwtPlotLayout * plotLayout () const
virtual void polish ()
void print (QPaintDevice &p, const QwtPlotPrintFilter
&=QwtPlotPrintFilter()) const
virtual void print (QPainter *, const QRect &rect, const
QwtPlotPrintFilter &=QwtPlotPrintFilter()) const
void setAutoReplot (bool tf=true)
void setAxisAutoScale (int axisId)
void setAxisFont (int axisId, const QFont &f)
void setAxisLabelAlignment (int axisId, Qt::Alignment)
void setAxisLabelRotation (int axisId, double rotation)
void setAxisMaxMajor (int axisId, int maxMajor)
void setAxisMaxMinor (int axisId, int maxMinor)
void setAxisScale (int axisId, double min, double max, double step=0)
void setAxisScaleDiv (int axisId, const QwtScaleDiv &)
void setAxisScaleDraw (int axisId, QwtScaleDraw *)
void setAxisScaleEngine (int axisId, QwtScaleEngine *)
void setAxisTitle (int axisId, const QString &)
void setAxisTitle (int axisId, const QwtText &)
void setCanvasBackground (const QColor &c)
void setCanvasLineWidth (int w)
void setMargin (int margin)
void setTitle (const QString &)
void setTitle (const QwtText &t)
virtual QSize sizeHint () const
QwtText title () const
QwtTextLabel * titleLabel ()
const QwtTextLabel * titleLabel () const
int transform (int axisId, double value) const
void updateAxes ()
virtual void updateLayout ()
Protected Slots
virtual void legendItemChecked (bool)
virtual void legendItemClicked ()
Protected Member Functions
virtual void drawItems (QPainter *, const QRect &, const QwtScaleMap
maps[axisCnt], const QwtPlotPrintFilter &) 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
virtual void printLegendItem (QPainter *, const QWidget *, const QRect
&) const
virtual void printScale (QPainter *, int axisId, int startDist, int
endDist, int baseDist, const QRect &) const
virtual void printTitle (QPainter *, const QRect &) const
virtual void resizeEvent (QResizeEvent *e)
virtual void updateTabOrder ()
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
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::Axis
Axis index
o yLeft
o yRight
o xBottom
o xTop
enum QwtPlot::LegendPosition
Position of the legend, relative to the canvas.
o LeftLegend
The legend will be left from the yLeft axis.
o RightLegend
The legend will be right from the yLeft axis.
o BottomLegend
The legend will be right below the xBottom axis.
o TopLegend
The legend will be between xTop axis and the title.
o 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
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.
bool QwtPlot::autoReplot () const
Returns:
true if the autoReplot option is set.
bool QwtPlot::axisAutoScale (intaxisId) const
Returns:
true if autoscaling is enabled
Parameters:
axisId axis index
bool QwtPlot::axisEnabled (intaxisId) const
Returns:
true if a specified axis is enabled
Parameters:
axisId axis index
QFont QwtPlot::axisFont (intaxisId) const
Returns:
the font of the scale labels for a specified axis
Parameters:
axisId axis index
int QwtPlot::axisMaxMajor (intaxisId) const
Returns:
the maximum number of major ticks for a specified axis
Parameters:
axisId axis index sa setAxisMaxMajor()
int QwtPlot::axisMaxMinor (intaxisId) const
Returns:
the maximum number of minor ticks for a specified axis
Parameters:
axisId axis index sa setAxisMaxMinor()
const QwtScaleDiv * QwtPlot::axisScaleDiv (intaxisId) 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()
QwtScaleDiv * QwtPlot::axisScaleDiv (intaxisId)
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 QwtScaleDraw * QwtPlot::axisScaleDraw (intaxisId) const
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
QwtScaleDraw * QwtPlot::axisScaleDraw (intaxisId)
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
QwtScaleEngine * QwtPlot::axisScaleEngine (intaxisId)
Parameters:
axisId axis index
Returns:
Scale engine for a specific axis
const QwtScaleEngine * QwtPlot::axisScaleEngine (intaxisId) const
Parameters:
axisId axis index
Returns:
Scale engine for a specific axis
double QwtPlot::axisStepSize (intaxisId) const
Return 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 (intaxisId) const
Returns:
the title of a specified axis
Parameters:
axisId axis index
bool QwtPlot::axisValid (intaxisId) [static], [protected]
Returns:
true if the specified axis exists, otherwise false
Parameters:
axisId axis index
const QwtScaleWidget * QwtPlot::axisWidget (intaxisId) const
Returns:
specified axis, or NULL if axisId is invalid.
Parameters:
axisId axis index
QwtScaleWidget * QwtPlot::axisWidget (intaxisId)
Returns:
specified axis, or NULL if axisId is invalid.
Parameters:
axisId axis index
QwtPlotCanvas * QwtPlot::canvas ()
Returns:
the plot's canvas
const QwtPlotCanvas * QwtPlot::canvas () const
Returns:
the plot's canvas
const QColor & QwtPlot::canvasBackground () const
Nothing else than: canvas()->palette().color( QPalette::Normal,
QColorGroup::Background);
Returns:
the background color of the plotting area.
int QwtPlot::canvasLineWidth () const
Nothing else than: canvas()->lineWidth(), left for compatibility only.
Returns:
the border width of the plotting area
QwtScaleMap QwtPlot::canvasMap (intaxisId) 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
QwtScaleMapmap[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 (intaxisId, booltf = 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)
QString QwtPlot::grabProperties () const
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::insertLegend (QwtLegend *legend, QwtPlot::LegendPositionpos =
QwtPlot::RightLegend, doubleratio = -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 (intaxisId, intpos) const
Transform 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.
QwtLegend * QwtPlot::legend ()
Returns:
the plot's legend
See also:
insertLegend()
const QwtLegend * QwtPlot::legend () const
Returns:
the plot's legend
See also:
insertLegend()
void QwtPlot::legendChecked (QwtPlotItem *plotItem, boolon) [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 (boolon) [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 () const
Returns:
margin
See also:
setMargin(), QwtPlotLayout::margin(), plotLayout()
QwtPlotLayout * QwtPlot::plotLayout ()
Returns:
the plot's title
const QwtPlotLayout * QwtPlot::plotLayout () const
Returns:
the plot's titel label.
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::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::printCanvas (QPainter *painter, const QRect &boundingRect,
const QRect &canvasRect, const QwtScaleMapmap[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, intaxisId, intstartDist,
intendDist, intbaseDist, 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 (booltf = 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 (intaxisId)
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 (intaxisId, 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 (intaxisId, Qt::Alignmentalignment)
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 (intaxisId, doublerotation)
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 (intaxisId, intmaxMajor)
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 (intaxisId, intmaxMinor)
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 (intaxisId, doublemin, doublemax, doublestepSize
= 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 (intaxisId, 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 (intaxisId, 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 (intaxisId, QwtScaleEngine *scaleEngine)
Change the scale engine for an axis
Parameters:
axisId axis index
scaleEngine Scale engine
See also:
axisScaleEngine()
void QwtPlot::setAxisTitle (intaxisId, const QString &title)
Change the title of a specified axis. Parameters:
axisId axis index
title axis title
void QwtPlot::setAxisTitle (intaxisId, const QwtText &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 (intw)
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 (intmargin)
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 QString &title)
Change the plot's title
Parameters:
title New title
void QwtPlot::setTitle (const QwtText &title)
Change the plot's title
Parameters:
title New title
QSize QwtPlot::sizeHint () const [virtual]
Return sizeHint
See also:
minimumSizeHint()
QwtText QwtPlot::title () const
Returns:
the plot's title
QwtTextLabel * QwtPlot::titleLabel ()
Returns:
the plot's titel label.
const QwtTextLabel * QwtPlot::titleLabel () const
Returns:
the plot's titel label.
int QwtPlot::transform (intaxisId, doublevalue) 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::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.
Version 5.2.3 Tue Nov 20 2012 QwtPlot(3)