QwtPlot Class Reference

A 2-D plotting widget. More...

`#include <qwt_plot.h>`

Inheritance diagram for QwtPlot:
[legend]

## Public Types

enum | Axis { yLeft, yRight, xBottom, xTop, axisCnt }
| Axis index. More...
enum | LegendPosition { LeftLegend, RightLegend, BottomLegend, TopLegend }

## Public Slots

virtual void | replot ()
| Redraw the plot. More...
void | autoRefresh ()
| Replots the plot if autoReplot() is `true`.

## Signals

void | itemAttached (QwtPlotItem *plotItem, bool on)
void | legendDataChanged (const QVariant &itemInfo, const QList< QwtLegendData > &data)

## Public Member Functions

| QwtPlot (QWidget *=NULL)
| Constructor. More...
| QwtPlot (const QwtText &title, QWidget *=NULL)
| Constructor. More...
virtual | ~QwtPlot ()
| Destructor.
void | applyProperties (const QString &)
QString | grabProperties () const
void | setAutoReplot (bool=true)
| Set or reset the autoReplot option. More...
bool | autoReplot () const
void | setPlotLayout (QwtPlotLayout *)
| Assign a new plot layout. More...
QwtPlotLayout * | plotLayout ()
const QwtPlotLayout * | plotLayout () const
void | setTitle (const QString &)
void | setTitle (const QwtText &)
QwtText | title () const
QwtTextLabel * | titleLabel ()
const QwtTextLabel * | titleLabel () const
void | setFooter (const QString &)
void | setFooter (const QwtText &)
QwtText | footer () const
QwtTextLabel * | footerLabel ()
const QwtTextLabel * | footerLabel () const
void | setCanvas (QWidget *)
| Set the drawing canvas of the plot widget. More...
QWidget * | canvas ()
const QWidget * | canvas () const
void | setCanvasBackground (const QBrush &)
| Change the background of the plotting area. More...
QBrush | canvasBackground () const
virtual QwtScaleMap | canvasMap (int axisId) const
double | invTransform (int axisId, int pos) const
double | transform (int axisId, double value) const
| Transform a value into a coordinate in the plotting region. More...
QwtScaleEngine * | axisScaleEngine (int axisId)
const QwtScaleEngine * | axisScaleEngine (int axisId) const
void | setAxisScaleEngine (int axisId, QwtScaleEngine *)
void | setAxisAutoScale (int axisId, bool on=true)
| Enable autoscaling for a specified axis. More...
bool | axisAutoScale (int axisId) const
void | enableAxis (int axisId, bool tf=true)
| Enable or disable a specified axis. More...
bool | axisEnabled (int axisId) const
void | setAxisFont (int axisId, const QFont &)
| Change the font of an axis. More...
QFont | axisFont (int axisId) const
void | setAxisScale (int axisId, double min, double max, double stepSize=0)
| Disable autoscaling and specify a fixed scale for a selected axis. More...
void | setAxisScaleDiv (int axisId, const QwtScaleDiv &)
| Disable autoscaling and specify a fixed scale for a selected axis. More...
void | setAxisScaleDraw (int axisId, QwtScaleDraw *)
| Set a scale draw. More...
double | axisStepSize (int axisId) const
| Return the step size parameter that has been set in setAxisScale. More...
QwtInterval | axisInterval (int axisId) const
| Return the current interval of the specified axis. More...
const QwtScaleDiv & | axisScaleDiv (int axisId) const
| Return the scale division of a specified axis. More...
const QwtScaleDraw * | axisScaleDraw (int axisId) const
| Return the scale draw of a specified axis. More...
QwtScaleDraw * | axisScaleDraw (int axisId)
| Return the scale draw of a specified axis. More...
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 &)
| Change the title of a specified axis. More...
void | setAxisTitle (int axisId, const QwtText &)
| Change the title of a specified axis. More...
QwtText | axisTitle (int axisId) const
void | setAxisMaxMinor (int axisId, int maxMinor)
int | axisMaxMinor (int axisId) const
void | setAxisMaxMajor (int axisId, int maxMajor)
int | axisMaxMajor (int axisId) const
void | insertLegend (QwtAbstractLegend *, LegendPosition=QwtPlot::RightLegend, double ratio=-1.0)
| Insert a legend. More...
QwtAbstractLegend * | legend ()
const QwtAbstractLegend * | legend () const
void | updateLegend ()
void | updateLegend (const QwtPlotItem *)
virtual QSize | sizeHint () const
virtual QSize | minimumSizeHint () const
| Return a minimum size hint.
virtual void | updateLayout ()
| Adjust plot content to its current size. More...
virtual void | drawCanvas (QPainter *)
void | updateAxes ()
| Rebuild the axes scales. More...
void | updateCanvasMargins ()
| Update the canvas margins. More...
virtual void | getCanvasMarginsHint (const QwtScaleMap maps[], const QRectF &canvasRect, double &left, double &top, double &right, double &bottom) const
| Calculate the canvas margins. More...
virtual bool | event (QEvent *)
| Adds handling of layout requests. More...
virtual bool | eventFilter (QObject *, QEvent *)
| Event filter. More...
virtual void | drawItems (QPainter *, const QRectF &, const QwtScaleMap maps[axisCnt]) const
virtual QVariant | itemToInfo (QwtPlotItem *) const
| Build an information, that can be used to identify a plot item on the legend. More...
virtual QwtPlotItem * | infoToItem (const QVariant &) const
| Identify the plot item according to an item info object, that has bee generated from itemToInfo(). More...
Public Member Functions inherited from QwtPlotDict
| QwtPlotDict ()
virtual | ~QwtPlotDict ()
void | setAutoDelete (bool)
bool | autoDelete () const
const QwtPlotItemList & | itemList () const
| A QwtPlotItemList of all attached plot items. More...
QwtPlotItemList | itemList (int rtti) const
void | detachItems (int rtti=QwtPlotItem::Rtti_PlotItem, bool autoDelete=true)

## Protected Member Functions

virtual void | resizeEvent (QResizeEvent *e)
Protected Member Functions inherited from QwtPlotDict
void | insertItem (QwtPlotItem *)
void | removeItem (QwtPlotItem *)

## 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.

The simpleplot example is a good starting point to see how to set up a plot widget.

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" );
  // connect or copy the data to the curves
  curve1->setData( ... );
  curve2->setData( ... );
  curve1->attach( myPlot );
  curve2->attach( myPlot );
  // finally, refresh the plot
  myPlot->replot();

## Member Enumeration Documentation

## Axis

enum QwtPlot::Axis

Axis index.

Enumerator
yLeft | Y axis left of the canvas.
yRight | Y axis right of the canvas.
xBottom | X axis below the canvas.
xTop | X axis above the canvas.
axisCnt | Number of axes.

## LegendPosition

enum QwtPlot::LegendPosition

Position of the legend, relative to the canvas.

See also
  insertLegend()

Enumerator
LeftLegend | The legend will be left from the QwtPlot::yLeft axis.
RightLegend | The legend will be right from the QwtPlot::yRight axis.
BottomLegend | The legend will be below the footer.
TopLegend | The legend will be above the title.

## Constructor & Destructor Documentation

## QwtPlot() [1/2]

QwtPlot::QwtPlot | ( | QWidget * | parent = `NULL` | ) |

explicit

Constructor.

Parameters

  parent | Parent widget

## QwtPlot() [2/2]

QwtPlot::QwtPlot | ( | const QwtText & | title,
|  | QWidget * | parent = `NULL`
| ) |  |

explicit

Constructor.

Parameters

  title | Title text
  parent | Parent widget

## Member Function Documentation

## applyProperties()

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.

## autoReplot()

bool QwtPlot::autoReplot | ( |  | ) | const

Returns
  true if the autoReplot option is set.

See also
  setAutoReplot()

## axisAutoScale()

bool QwtPlot::axisAutoScale | ( | int | axisId | ) | const

Returns
  `True`, if autoscaling is enabled

Parameters

  axisId | Axis index

## axisEnabled()

bool QwtPlot::axisEnabled | ( | int | axisId | ) | const

Returns
  `True`, if a specified axis is enabled

Parameters

  axisId | Axis index

## axisFont()

QFont QwtPlot::axisFont | ( | int | axisId | ) | const

Returns
  The font of the scale labels for a specified axis

Parameters

  axisId | Axis index

## axisInterval()

QwtInterval QwtPlot::axisInterval | ( | int | axisId | ) | const

Return the current interval of the specified axis.

This is only a convenience function for axisScaleDiv( axisId )->interval();

Parameters

  axisId | Axis index

Returns
  Scale interval

See also
  QwtScaleDiv, axisScaleDiv()

## axisMaxMajor()

int QwtPlot::axisMaxMajor | ( | int | axisId | ) | const

Returns
  The maximum number of major ticks for a specified axis

Parameters

  axisId | Axis index

See also
  setAxisMaxMajor(), QwtScaleEngine::divideScale()

## axisMaxMinor()

int QwtPlot::axisMaxMinor | ( | int | axisId | ) | const

Returns
  the maximum number of minor ticks for a specified axis

Parameters

  axisId | Axis index

See also
  setAxisMaxMinor(), QwtScaleEngine::divideScale()

## axisScaleDiv()

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(), QwtScaleEngine::divideScale()

## axisScaleDraw() [1/2]

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

Return the scale draw of a specified axis.

Parameters

  axisId | Axis index

Returns
  Specified scaleDraw for axis, or NULL if axis is invalid.

## axisScaleDraw() [2/2]

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

Return the scale draw of a specified axis.

Parameters

  axisId | Axis index

Returns
  Specified scaleDraw for axis, or NULL if axis is invalid.

## axisScaleEngine() [1/2]

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

Parameters

  axisId | Axis index

Returns
  Scale engine for a specific axis

## axisScaleEngine() [2/2]

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

Parameters

  axisId | Axis index

Returns
  Scale engine for a specific axis

## axisStepSize()

double QwtPlot::axisStepSize | ( | int | axisId | ) | 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(), QwtScaleEngine::divideScale()

## axisTitle()

QwtText QwtPlot::axisTitle | ( | int | axisId | ) | const

Returns
  Title of a specified axis

Parameters

  axisId | Axis index

## axisValid()

bool QwtPlot::axisValid | ( | int | axisId | ) |

static protected

Returns
  `true` if the specified axis exists, otherwise `false`

Parameters

  axisId | axis index

## axisWidget() [1/2]

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

Returns
  Scale widget of the specified axis, or NULL if axisId is invalid.

Parameters

  axisId | Axis index

## axisWidget() [2/2]

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

Returns
  Scale widget of the specified axis, or NULL if axisId is invalid.

Parameters

  axisId | Axis index

## canvas() [1/2]

QWidget * QwtPlot::canvas | ( |  | ) |

Returns
  the plot's canvas

## canvas() [2/2]

const QWidget * QwtPlot::canvas | ( |  | ) | const

Returns
  the plot's canvas

## canvasBackground()

QBrush QwtPlot::canvasBackground | ( |  | ) | const

Nothing else than: canvas()->palette().brush( QPalette::Normal, QPalette::Window);

Returns
  Background brush of the plotting area.

See also
  setCanvasBackground()

## canvasMap()

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()

## drawCanvas()

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()

## drawItems()

void QwtPlot::drawItems | ( | QPainter * | painter,
|  | const QRectF & | canvasRect,
|  | const QwtScaleMap | maps[axisCnt]
| ) |  | const

virtual

Redraw the canvas items.

Parameters

  painter | Painter used for drawing
  canvasRect | Bounding rectangle where to paint
  maps | QwtPlot::axisCnt maps, mapping between plot and paint device coordinates

Note
  Usually canvasRect is contentsRect() of the plot canvas. Due to a bug in Qt this rectangle might be wrong for certain frame styles ( f.e QFrame::Box ) and it might be necessary to fix the margins manually using QWidget::setContentsMargins()

## enableAxis()

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)

## event()

bool QwtPlot::event | ( | QEvent * | event | ) |

virtual

Adds handling of layout requests.

Parameters

  event | Event

Returns
  See QFrame::event()

## eventFilter()

bool QwtPlot::eventFilter | ( | QObject * | object,
|  | QEvent * | event
| ) |  |

virtual

Event filter.

The plot handles the following events for the canvas:

- QEvent::Resize The canvas margins might depend on its size
- QEvent::ContentsRectChange The layout needs to be recalculated

Parameters

  object | Object to be filtered
  event | Event

Returns
  See QFrame::eventFilter()

See also
  updateCanvasMargins(), updateLayout()

## footer()

QwtText QwtPlot::footer | ( |  | ) | const

Returns
  Text of the footer

## footerLabel() [1/2]

QwtTextLabel * QwtPlot::footerLabel | ( |  | ) |

Returns
  Footer label widget.

## footerLabel() [2/2]

const QwtTextLabel * QwtPlot::footerLabel | ( |  | ) | const

Returns
  Footer label widget.

## getCanvasMarginsHint()

void QwtPlot::getCanvasMarginsHint | ( | const QwtScaleMap | maps[],
|  | const QRectF & | canvasRect,
|  | double & | left,
|  | double & | top,
|  | double & | right,
|  | double & | bottom
| ) |  | const

virtual

Calculate the canvas margins.

Parameters

  maps | QwtPlot::axisCnt maps, mapping between plot and paint device coordinates
  canvasRect | Bounding rectangle where to paint
  left | Return parameter for the left margin
  top | Return parameter for the top margin
  right | Return parameter for the right margin
  bottom | Return parameter for the bottom margin

Plot items might indicate, that they need some extra space at the borders of the canvas by the QwtPlotItem::Margins flag.

updateCanvasMargins(), QwtPlotItem::getCanvasMarginHint()

## grabProperties()

QString QwtPlot::grabProperties | ( |  | ) | const

This method is intended for manipulating the plot widget from a specific editor in the Qwt designer plugin.

Returns
  QString()

Warning
  The plot editor has never been implemented.

## infoToItem()

QwtPlotItem * QwtPlot::infoToItem | ( | const QVariant & | itemInfo | ) | const

virtual

Identify the plot item according to an item info object, that has bee generated from itemToInfo().

The default implementation simply tries to unwrap a QwtPlotItem pointer:

if ( itemInfo.canConvert<QwtPlotItem *>() )
return qvariant_cast<QwtPlotItem *>( itemInfo );

Parameters

  itemInfo | Plot item

Returns
  A plot item, when successful, otherwise a NULL pointer.

See also
  itemToInfo()

## insertLegend()

void QwtPlot::insertLegend | ( | QwtAbstractLegend * | 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.

insertLegend() will set the plot widget as parent for the legend. The legend will be deleted in the destructor of the plot or when another legend is inserted.

Legends, that are not inserted into the layout of the plot widget need to connect to the legendDataChanged() signal. Calling updateLegend() initiates this signal for an initial update. When the application code wants to implement its own layout this also needs to be done for rendering plots to a document ( see QwtPlotRenderer ).

Parameters

  legend | Legend
  pos | The legend's position. For top/left position the number of columns will be limited to 1, otherwise it will be set to unlimited.
  ratio | Ratio between legend and the bounding rectangle of title, canvas and axes. The legend will be shrunk 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()

## invTransform()

double QwtPlot::invTransform | ( | int | axisId,
|  | int | pos
| ) |  | const

Transform the x or y coordinate of a position in the drawing region into a value.

Parameters

  axisId | Axis index
  pos | position

Returns
  Position as axis coordinate

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

## itemAttached

void QwtPlot::itemAttached | ( | QwtPlotItem * | plotItem,
|  | bool | on
| ) |  |

signal

A signal indicating, that an item has been attached/detached

Parameters

  plotItem | Plot item
  on | Attached/Detached

## itemToInfo()

QVariant QwtPlot::itemToInfo | ( | QwtPlotItem * | plotItem | ) | const

virtual

Build an information, that can be used to identify a plot item on the legend.

The default implementation simply wraps the plot item into a QVariant object. When overloading itemToInfo() usually infoToItem() needs to reimplemeted too.

QVariant itemInfo;
qVariantSetValue( itemInfo, plotItem );

Parameters

  plotItem | Plot item

Returns
  Plot item embedded in a QVariant

See also
  infoToItem()

## legend() [1/2]

QwtAbstractLegend * QwtPlot::legend | ( |  | ) |

Returns
  the plot's legend

See also
  insertLegend()

## legend() [2/2]

const QwtAbstractLegend * QwtPlot::legend | ( |  | ) | const

Returns
  the plot's legend

See also
  insertLegend()

## legendDataChanged

void QwtPlot::legendDataChanged | ( | const QVariant & | itemInfo,
|  | const QList< QwtLegendData > & | data
| ) |  |

signal

A signal with the attributes how to update the legend entries for a plot item.

Parameters

  itemInfo | Info about a plot item, build from itemToInfo()
  data | Attributes of the entries ( usually <= 1 ) for the plot item.

See also
  itemToInfo(), infoToItem(), QwtAbstractLegend::updateLegend()

## plotLayout() [1/2]

QwtPlotLayout * QwtPlot::plotLayout | ( |  | ) |

Returns
  the plot's layout

## plotLayout() [2/2]

const QwtPlotLayout * QwtPlot::plotLayout | ( |  | ) | const

Returns
  the plot's layout

## replot

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
  updateAxes(), setAutoReplot()

## resizeEvent()

void QwtPlot::resizeEvent | ( | QResizeEvent * | e | ) |

protected virtual

Resize and update internal layout

Parameters

  e | Resize event

## setAutoReplot()

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()

## setAxisAutoScale()

void QwtPlot::setAxisAutoScale | ( | int | axisId,
|  | bool | on = `true`
| ) |  |

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
  on | On/Off

See also
  setAxisScale(), setAxisScaleDiv(), updateAxes()

Note
  The autoscaling flag has no effect until updateAxes() is executed ( called by replot() ).

## setAxisFont()

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

Change the font of an axis.

Parameters

  axisId | Axis index
  font | Font

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

## setAxisLabelAlignment()

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()

## setAxisLabelRotation()

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()

## setAxisMaxMajor()

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()

## setAxisMaxMinor()

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()

## setAxisScale()

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

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

In updateAxes() the scale engine calculates a scale division from the specified parameters, that will be assigned to the scale widget. So updates of the scale widget usually happen delayed with the next replot.

Parameters

  axisId | Axis index
  min | Minimum of the scale
  max | 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(), axisStepSize(), QwtScaleEngine::divideScale()

## setAxisScaleDiv()

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

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

The scale division will be stored locally only until the next call of updateAxes(). So updates of the scale widget usually happen delayed with the next replot.

Parameters

  axisId | Axis index
  scaleDiv | Scale division

See also
  setAxisScale(), setAxisAutoScale()

## setAxisScaleDraw()

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.

## setAxisScaleEngine()

void QwtPlot::setAxisScaleEngine | ( | int | axisId,
|  | QwtScaleEngine * | scaleEngine
| ) |  |

Change the scale engine for an axis

Parameters

  axisId | Axis index
  scaleEngine | Scale engine

See also
  axisScaleEngine()

## setAxisTitle() [1/2]

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

Change the title of a specified axis.

Parameters

  axisId | Axis index
  title | axis title

## setAxisTitle() [2/2]

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

Change the title of a specified axis.

Parameters

  axisId | Axis index
  title | Axis title

## setCanvas()

void QwtPlot::setCanvas | ( | QWidget * | canvas | ) |

Set the drawing canvas of the plot widget.

QwtPlot invokes methods of the canvas as meta methods ( see QMetaObject ). In opposite to using conventional C++ techniques like virtual methods they allow to use canvas implementations that are derived from QWidget or QGLWidget.

The following meta methods could be implemented:

- replot() When the canvas doesn't offer a replot method, QwtPlot calls update() instead.
- borderPath() The border path is necessary to clip the content of the canvas When the canvas doesn't have any special border ( f.e rounded corners ) it is o.k. not to implement this method.

The default canvas is a QwtPlotCanvas

Parameters

  canvas | Canvas Widget

See also
  canvas()

## setCanvasBackground()

void QwtPlot::setCanvasBackground | ( | const QBrush & | brush | ) |

Change the background of the plotting area.

Sets brush to QPalette::Window of all color groups of the palette of the canvas. Using canvas()->setPalette() is a more powerful way to set these colors.

Parameters

  brush | New background brush

See also
  canvasBackground()

## setFooter() [1/2]

void QwtPlot::setFooter | ( | const QString & | text | ) |

Change the text the footer

Parameters

  text | New text of the footer

## setFooter() [2/2]

void QwtPlot::setFooter | ( | const QwtText & | text | ) |

Change the text the footer

Parameters

  text | New text of the footer

## setPlotLayout()

void QwtPlot::setPlotLayout | ( | QwtPlotLayout * | layout | ) |

Assign a new plot layout.

Parameters

  layout | Layout()

See also
  plotLayout()

## setTitle() [1/2]

void QwtPlot::setTitle | ( | const QString & | title | ) |

Change the plot's title

Parameters

  title | New title

## setTitle() [2/2]

void QwtPlot::setTitle | ( | const QwtText & | title | ) |

Change the plot's title

Parameters

  title | New title

## sizeHint()

QSize QwtPlot::sizeHint | ( |  | ) | const

virtual

Returns
  Size hint for the plot widget

See also
  minimumSizeHint()

## title()

QwtText QwtPlot::title | ( |  | ) | const

Returns
  Title of the plot

## titleLabel() [1/2]

QwtTextLabel * QwtPlot::titleLabel | ( |  | ) |

Returns
  Title label widget.

## titleLabel() [2/2]

const QwtTextLabel * QwtPlot::titleLabel | ( |  | ) | const

Returns
  Title label widget.

## transform()

double 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.

## updateAxes()

void QwtPlot::updateAxes | ( |  | ) |

Rebuild the axes scales.

In case of autoscaling the boundaries of a scale are calculated from the bounding rectangles of all plot items, having the QwtPlotItem::AutoScale flag enabled ( QwtScaleEngine::autoScale() ). Then a scale division is calculated ( QwtScaleEngine::didvideScale() ) and assigned to scale widget.

When the scale boundaries have been assigned with setAxisScale() a scale division is calculated ( QwtScaleEngine::didvideScale() ) for this interval and assigned to the scale widget.

When the scale has been set explicitly by setAxisScaleDiv() the locally stored scale division gets assigned to the scale widget.

The scale widget indicates modifications by emitting a QwtScaleWidget::scaleDivChanged() signal.

updateAxes() is usually called by replot().

See also
  setAxisAutoScale(), setAxisScale(), setAxisScaleDiv(), replot() QwtPlotItem::boundingRect()

## updateCanvasMargins()

void QwtPlot::updateCanvasMargins | ( |  | ) |

Update the canvas margins.

Plot items might indicate, that they need some extra space at the borders of the canvas by the QwtPlotItem::Margins flag.

getCanvasMarginsHint(), QwtPlotItem::getCanvasMarginHint()

## updateLayout()

void QwtPlot::updateLayout | ( |  | ) |

virtual

Adjust plot content to its current size.

See also
  resizeEvent()

## updateLegend() [1/2]

void QwtPlot::updateLegend | ( |  | ) |

Emit legendDataChanged() for all plot item

See also
  QwtPlotItem::legendData(), legendDataChanged()

## updateLegend() [2/2]

void QwtPlot::updateLegend | ( | const QwtPlotItem * | plotItem | ) |

Emit legendDataChanged() for a plot item

Parameters

  plotItem | Plot item

See also
  QwtPlotItem::legendData(), legendDataChanged()