Provided by: libqwt5-doc_5.2.3-1_all
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 explicitly 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 • yLeft • yRight • xBottom • xTop enum QwtPlot::LegendPosition Position 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
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.