iCub-main
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
QCPAxisRect Class Reference

Holds multiple axes and arranges them in a rectangular shape. More...

#include <qcustomplot.h>

+ Inheritance diagram for QCPAxisRect:

Public Member Functions

 QCPAxisRect (QCustomPlot *parentPlot, bool setupDefaultAxes=true)
 Creates a QCPAxisRect instance and sets default values. More...
 
virtual ~QCPAxisRect ()
 
QPixmap background () const
 
bool backgroundScaled () const
 
Qt::AspectRatioMode backgroundScaledMode () const
 
Qt::Orientations rangeDrag () const
 
Qt::Orientations rangeZoom () const
 
QCPAxisrangeDragAxis (Qt::Orientation orientation)
 Returns the range drag axis of the orientation provided. More...
 
QCPAxisrangeZoomAxis (Qt::Orientation orientation)
 Returns the range zoom axis of the orientation provided. More...
 
double rangeZoomFactor (Qt::Orientation orientation)
 Returns the range zoom factor of the orientation provided. More...
 
void setBackground (const QPixmap &pm)
 Sets pm as the axis background pixmap. More...
 
void setBackground (const QPixmap &pm, bool scaled, Qt::AspectRatioMode mode=Qt::KeepAspectRatioByExpanding)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Allows setting the background pixmap of the axis rect, whether it shall be scaled and how it shall be scaled in one call. More...
 
void setBackground (const QBrush &brush)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Sets brush as the background brush. More...
 
void setBackgroundScaled (bool scaled)
 Sets whether the axis background pixmap shall be scaled to fit the axis rect or not. More...
 
void setBackgroundScaledMode (Qt::AspectRatioMode mode)
 If scaling of the axis background pixmap is enabled (setBackgroundScaled), use this function to define whether and how the aspect ratio of the original pixmap passed to setBackground is preserved. More...
 
void setRangeDrag (Qt::Orientations orientations)
 Sets which axis orientation may be range dragged by the user with mouse interaction. More...
 
void setRangeZoom (Qt::Orientations orientations)
 Sets which axis orientation may be zoomed by the user with the mouse wheel. More...
 
void setRangeDragAxes (QCPAxis *horizontal, QCPAxis *vertical)
 Sets the axes whose range will be dragged when setRangeDrag enables mouse range dragging on the QCustomPlot widget. More...
 
void setRangeZoomAxes (QCPAxis *horizontal, QCPAxis *vertical)
 Sets the axes whose range will be zoomed when setRangeZoom enables mouse wheel zooming on the QCustomPlot widget. More...
 
void setRangeZoomFactor (double horizontalFactor, double verticalFactor)
 Sets how strong one rotation step of the mouse wheel zooms, when range zoom was activated with setRangeZoom. More...
 
void setRangeZoomFactor (double factor)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Sets both the horizontal and vertical zoom factor. More...
 
int axisCount (QCPAxis::AxisType type) const
 Returns the number of axes on the axis rect side specified with type. More...
 
QCPAxisaxis (QCPAxis::AxisType type, int index=0) const
 Returns the axis with the given index on the axis rect side specified with type. More...
 
QList< QCPAxis * > axes (QCPAxis::AxisTypes types) const
 Returns all axes on the axis rect sides specified with types. More...
 
QList< QCPAxis * > axes () const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Returns all axes of this axis rect. More...
 
QCPAxisaddAxis (QCPAxis::AxisType type)
 Adds a new axis to the axis rect side specified with type, and returns it. More...
 
QList< QCPAxis * > addAxes (QCPAxis::AxisTypes types)
 Adds a new axis with addAxis to each axis rect side specified in types. More...
 
bool removeAxis (QCPAxis *axis)
 Removes the specified axis from the axis rect and deletes it. More...
 
QCPLayoutInsetinsetLayout () const
 Returns the inset layout of this axis rect. More...
 
void setupFullAxesBox (bool connectRanges=false)
 Convenience function to create an axis on each side that doesn't have any axes yet and set their visibility to true. More...
 
QList< QCPAbstractPlottable * > plottables () const
 Returns a list of all the plottables that are associated with this axis rect. More...
 
QList< QCPGraph * > graphs () const
 Returns a list of all the graphs that are associated with this axis rect. More...
 
QList< QCPAbstractItem * > items () const
 Returns a list of all the items that are associated with this axis rect. More...
 
int left () const
 Returns the pixel position of the left border of this axis rect. More...
 
int right () const
 Returns the pixel position of the right border of this axis rect. More...
 
int top () const
 Returns the pixel position of the top border of this axis rect. More...
 
int bottom () const
 Returns the pixel position of the bottom border of this axis rect. More...
 
int width () const
 Returns the pixel width of this axis rect. More...
 
int height () const
 Returns the pixel height of this axis rect. More...
 
QSize size () const
 Returns the pixel size of this axis rect. More...
 
QPoint topLeft () const
 Returns the top left corner of this axis rect in pixels. More...
 
QPoint topRight () const
 Returns the top right corner of this axis rect in pixels. More...
 
QPoint bottomLeft () const
 Returns the bottom left corner of this axis rect in pixels. More...
 
QPoint bottomRight () const
 Returns the bottom right corner of this axis rect in pixels. More...
 
QPoint center () const
 Returns the center of this axis rect in pixels. More...
 
virtual void update (UpdatePhase phase)
 This method is called automatically upon replot and doesn't need to be called by users of QCPAxisRect. More...
 
virtual QList< QCPLayoutElement * > elements (bool recursive) const
 Returns a list of all child elements in this layout element. More...
 
- Public Member Functions inherited from QCPLayoutElement
 QCPLayoutElement (QCustomPlot *parentPlot=0)
 Creates an instance of QCPLayoutElement and sets default values. More...
 
virtual ~QCPLayoutElement ()
 
QCPLayoutlayout () const
 Returns the parent layout of this layout element. More...
 
QRect rect () const
 Returns the inner rect of this layout element. More...
 
QRect outerRect () const
 
QMargins margins () const
 
QMargins minimumMargins () const
 
QCP::MarginSides autoMargins () const
 
QSize minimumSize () const
 
QSize maximumSize () const
 
QCPMarginGroupmarginGroup (QCP::MarginSide side) const
 
QHash< QCP::MarginSide, QCPMarginGroup * > marginGroups () const
 
void setOuterRect (const QRect &rect)
 Sets the outer rect of this layout element. More...
 
void setMargins (const QMargins &margins)
 Sets the margins of this layout element. More...
 
void setMinimumMargins (const QMargins &margins)
 If setAutoMargins is enabled on some or all margins, this function is used to provide minimum values for those margins. More...
 
void setAutoMargins (QCP::MarginSides sides)
 Sets on which sides the margin shall be calculated automatically. More...
 
void setMinimumSize (const QSize &size)
 Sets the minimum size for the inner rect of this layout element. More...
 
void setMinimumSize (int width, int height)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Sets the minimum size for the inner rect of this layout element. More...
 
void setMaximumSize (const QSize &size)
 Sets the maximum size for the inner rect of this layout element. More...
 
void setMaximumSize (int width, int height)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Sets the maximum size for the inner rect of this layout element. More...
 
void setMarginGroup (QCP::MarginSides sides, QCPMarginGroup *group)
 Sets the margin group of the specified margin sides. More...
 
virtual QSize minimumSizeHint () const
 Returns the minimum size this layout element (the inner rect) may be compressed to. More...
 
virtual QSize maximumSizeHint () const
 Returns the maximum size this layout element (the inner rect) may be expanded to. More...
 
virtual double selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=0) const
 Layout elements are sensitive to events inside their outer rect. More...
 
- Public Member Functions inherited from QCPLayerable
 QCPLayerable (QCustomPlot *plot, QString targetLayer="", QCPLayerable *parentLayerable=0)
 Creates a new QCPLayerable instance. More...
 
 ~QCPLayerable ()
 
bool visible () const
 
QCustomPlotparentPlot () const
 
QCPLayerableparentLayerable () const
 Returns the parent layerable of this layerable. More...
 
QCPLayerlayer () const
 
bool antialiased () const
 
void setVisible (bool on)
 Sets the visibility of this layerable object. More...
 
Q_SLOT bool setLayer (QCPLayer *layer)
 Sets the layer of this layerable object. More...
 
bool setLayer (const QString &layerName)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Sets the layer of this layerable object by name. More...
 
void setAntialiased (bool enabled)
 Sets whether this object will be drawn antialiased or not. More...
 
bool realVisibility () const
 Returns whether this layerable is visible, taking the visibility of the layerable parent and the visibility of the layer this layerable is on into account. More...
 

Protected Member Functions

virtual void applyDefaultAntialiasingHint (QCPPainter *painter) const
 
virtual void draw (QCPPainter *painter)
 
virtual int calculateAutoMargin (QCP::MarginSide side)
 
virtual void mousePressEvent (QMouseEvent *event)
 This event is called, if the mouse was pressed while being inside the outer rect of this layout element. More...
 
virtual void mouseMoveEvent (QMouseEvent *event)
 This event is called, if the mouse is moved inside the outer rect of this layout element. More...
 
virtual void mouseReleaseEvent (QMouseEvent *event)
 This event is called, if the mouse was previously pressed inside the outer rect of this layout element and is now released. More...
 
virtual void wheelEvent (QWheelEvent *event)
 This event is called, if the mouse wheel is scrolled while the cursor is inside the rect of this layout element. More...
 
void drawBackground (QCPPainter *painter)
 
void updateAxesOffset (QCPAxis::AxisType type)
 
- Protected Member Functions inherited from QCPLayoutElement
virtual void mouseDoubleClickEvent (QMouseEvent *event)
 This event is called, if the mouse is double-clicked inside the outer rect of this layout element. More...
 
virtual void parentPlotInitialized (QCustomPlot *parentPlot)
 
- Protected Member Functions inherited from QCPLayerable
virtual QCP::Interaction selectionCategory () const
 
virtual QRect clipRect () const
 
virtual void selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
 
virtual void deselectEvent (bool *selectionStateChanged)
 
void initializeParentPlot (QCustomPlot *parentPlot)
 
void setParentLayerable (QCPLayerable *parentLayerable)
 
bool moveToLayer (QCPLayer *layer, bool prepend)
 
void applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const
 

Protected Attributes

QBrush mBackgroundBrush
 
QPixmap mBackgroundPixmap
 
QPixmap mScaledBackgroundPixmap
 
bool mBackgroundScaled
 
Qt::AspectRatioMode mBackgroundScaledMode
 
QCPLayoutInsetmInsetLayout
 
Qt::Orientations mRangeDrag
 
Qt::Orientations mRangeZoom
 
QPointer< QCPAxismRangeDragHorzAxis
 
QPointer< QCPAxismRangeDragVertAxis
 
QPointer< QCPAxismRangeZoomHorzAxis
 
QPointer< QCPAxismRangeZoomVertAxis
 
double mRangeZoomFactorHorz
 
double mRangeZoomFactorVert
 
QCPRange mDragStartHorzRange
 
QCPRange mDragStartVertRange
 
QCP::AntialiasedElements mAADragBackup
 
QCP::AntialiasedElements mNotAADragBackup
 
QPoint mDragStart
 
bool mDragging
 
QHash< QCPAxis::AxisType, QList< QCPAxis * > > mAxes
 
- Protected Attributes inherited from QCPLayoutElement
QCPLayoutmParentLayout
 
QSize mMinimumSize
 
QSize mMaximumSize
 
QRect mRect
 
QRect mOuterRect
 
QMargins mMargins
 
QMargins mMinimumMargins
 
QCP::MarginSides mAutoMargins
 
QHash< QCP::MarginSide, QCPMarginGroup * > mMarginGroups
 
- Protected Attributes inherited from QCPLayerable
bool mVisible
 
QCustomPlotmParentPlot
 
QPointer< QCPLayerablemParentLayerable
 
QCPLayermLayer
 
bool mAntialiased
 

Friends

class QCustomPlot
 

Additional Inherited Members

- Public Types inherited from QCPLayoutElement
enum  UpdatePhase {
  upPreparation ,
  upMargins ,
  upLayout
}
 Defines the phases of the update process, that happens just before a replot. More...
 
- Signals inherited from QCPLayerable
void layerChanged (QCPLayer *newLayer)
 This signal is emitted when the layer of this layerable changes, i.e. More...
 

Detailed Description

Holds multiple axes and arranges them in a rectangular shape.

This class represents an axis rect, a rectangular area that is bounded on all sides with an arbitrary number of axes.

Initially QCustomPlot has one axis rect, accessible via QCustomPlot::axisRect(). However, the layout system allows to have multiple axis rects, e.g. arranged in a grid layout (QCustomPlot::plotLayout).

By default, QCPAxisRect comes with four axes, at bottom, top, left and right. They can be accessed via axis by providing the respective axis type (QCPAxis::AxisType) and index. If you need all axes in the axis rect, use axes. The top and right axes are set to be invisible initially (QCPAxis::setVisible). To add more axes to a side, use addAxis or addAxes. To remove an axis, use removeAxis.

The axis rect layerable itself only draws a background pixmap or color, if specified (setBackground). It is placed on the "background" layer initially (see QCPLayer for an explanation of the QCustomPlot layer system). The axes that are held by the axis rect can be placed on other layers, independently of the axis rect.

Every axis rect has a child layout of type QCPLayoutInset. It is accessible via insetLayout and can be used to have other layout elements (or even other layouts with multiple elements) hovering inside the axis rect.

If an axis rect is clicked and dragged, it processes this by moving certain axis ranges. The behaviour can be controlled with setRangeDrag and setRangeDragAxes. If the mouse wheel is scrolled while the cursor is on the axis rect, certain axes are scaled. This is controllable via setRangeZoom, setRangeZoomAxes and setRangeZoomFactor. These interactions are only enabled if QCustomPlot::setInteractions contains QCP::iRangeDrag and QCP::iRangeZoom.

Overview of the spacings and paddings that define the geometry of an axis. The dashed line on the far left indicates the viewport/widget border.

Definition at line 1948 of file qcustomplot.h.

Constructor & Destructor Documentation

◆ QCPAxisRect()

QCPAxisRect::QCPAxisRect ( QCustomPlot parentPlot,
bool  setupDefaultAxes = true 
)
explicit

Creates a QCPAxisRect instance and sets default values.

An axis is added for each of the four sides, the top and right axes are set invisible initially.

Definition at line 11768 of file qcustomplot.cpp.

◆ ~QCPAxisRect()

QCPAxisRect::~QCPAxisRect ( )
virtual

Definition at line 11812 of file qcustomplot.cpp.

Member Function Documentation

◆ addAxes()

QList< QCPAxis * > QCPAxisRect::addAxes ( QCPAxis::AxisTypes  types)

Adds a new axis with addAxis to each axis rect side specified in types.

This may be an or-combination of QCPAxis::AxisType, so axes can be added to multiple sides at once.

Returns a list of the added axes.

See also
addAxis, setupFullAxesBox

Definition at line 11918 of file qcustomplot.cpp.

◆ addAxis()

QCPAxis * QCPAxisRect::addAxis ( QCPAxis::AxisType  type)

Adds a new axis to the axis rect side specified with type, and returns it.

If an axis rect side already contains one or more axes, the lower and upper endings of the new axis (QCPAxis::setLowerEnding, QCPAxis::setUpperEnding) are initialized to QCPLineEnding::esHalfBar.

See also
addAxes, setupFullAxesBox

Definition at line 11897 of file qcustomplot.cpp.

◆ applyDefaultAntialiasingHint()

void QCPAxisRect::applyDefaultAntialiasingHint ( QCPPainter painter) const
protectedvirtual

Reimplemented from QCPLayoutElement.

Definition at line 12178 of file qcustomplot.cpp.

◆ axes() [1/2]

QList< QCPAxis * > QCPAxisRect::axes ( ) const

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Returns all axes of this axis rect.

Definition at line 11876 of file qcustomplot.cpp.

◆ axes() [2/2]

QList< QCPAxis * > QCPAxisRect::axes ( QCPAxis::AxisTypes  types) const

Returns all axes on the axis rect sides specified with types.

types may be a single QCPAxis::AxisType or an or-combination, to get the axes of multiple sides.

See also
axis

Definition at line 11858 of file qcustomplot.cpp.

◆ axis()

QCPAxis * QCPAxisRect::axis ( QCPAxis::AxisType  type,
int  index = 0 
) const

Returns the axis with the given index on the axis rect side specified with type.

See also
axisCount, axes

Definition at line 11837 of file qcustomplot.cpp.

◆ axisCount()

int QCPAxisRect::axisCount ( QCPAxis::AxisType  type) const

Returns the number of axes on the axis rect side specified with type.

See also
axis

Definition at line 11827 of file qcustomplot.cpp.

◆ background()

QPixmap QCPAxisRect::background ( ) const
inline

Definition at line 1963 of file qcustomplot.h.

◆ backgroundScaled()

bool QCPAxisRect::backgroundScaled ( ) const
inline

Definition at line 1964 of file qcustomplot.h.

◆ backgroundScaledMode()

Qt::AspectRatioMode QCPAxisRect::backgroundScaledMode ( ) const
inline

Definition at line 1965 of file qcustomplot.h.

◆ bottom()

int QCPAxisRect::bottom ( ) const
inline

Returns the pixel position of the bottom border of this axis rect.

Margins are not taken into account here, so the returned value is with respect to the inner rect.

Definition at line 2004 of file qcustomplot.h.

◆ bottomLeft()

QPoint QCPAxisRect::bottomLeft ( ) const
inline

Returns the bottom left corner of this axis rect in pixels.

Margins are not taken into account here, so the returned value is with respect to the inner rect.

Definition at line 2010 of file qcustomplot.h.

◆ bottomRight()

QPoint QCPAxisRect::bottomRight ( ) const
inline

Returns the bottom right corner of this axis rect in pixels.

Margins are not taken into account here, so the returned value is with respect to the inner rect.

Definition at line 2011 of file qcustomplot.h.

◆ calculateAutoMargin()

int QCPAxisRect::calculateAutoMargin ( QCP::MarginSide  side)
protectedvirtual

Reimplemented from QCPLayoutElement.

Definition at line 12463 of file qcustomplot.cpp.

◆ center()

QPoint QCPAxisRect::center ( ) const
inline

Returns the center of this axis rect in pixels.

Margins are not taken into account here, so the returned value is with respect to the inner rect.

Definition at line 2012 of file qcustomplot.h.

◆ draw()

void QCPAxisRect::draw ( QCPPainter painter)
protectedvirtual

Reimplemented from QCPLayoutElement.

Reimplemented in QCPColorScaleAxisRectPrivate.

Definition at line 12184 of file qcustomplot.cpp.

◆ drawBackground()

void QCPAxisRect::drawBackground ( QCPPainter painter)
protected

Definition at line 12408 of file qcustomplot.cpp.

◆ elements()

QList< QCPLayoutElement * > QCPAxisRect::elements ( bool  recursive) const
virtual

Returns a list of all child elements in this layout element.

If recursive is true, all sub-child elements are included in the list, too.

Warning
There may be entries with value 0 in the returned list. (For example, QCPLayoutGrid may have empty cells which yield 0 at the respective index.)

Reimplemented from QCPLayoutElement.

Definition at line 12165 of file qcustomplot.cpp.

◆ graphs()

QList< QCPGraph * > QCPAxisRect::graphs ( ) const

Returns a list of all the graphs that are associated with this axis rect.

A graph is considered associated with an axis rect if its key or value axis (or both) is in this axis rect.

See also
plottables, items

Definition at line 12082 of file qcustomplot.cpp.

◆ height()

int QCPAxisRect::height ( ) const
inline

Returns the pixel height of this axis rect.

Margins are not taken into account here, so the returned value is with respect to the inner rect.

Definition at line 2006 of file qcustomplot.h.

◆ insetLayout()

QCPLayoutInset * QCPAxisRect::insetLayout ( ) const
inline

Returns the inset layout of this axis rect.

It can be used to place other layout elements (or even layouts with multiple other elements) inside/on top of an axis rect.

See also
QCPLayoutInset

Definition at line 1993 of file qcustomplot.h.

◆ items()

QList< QCPAbstractItem * > QCPAxisRect::items ( ) const

Returns a list of all the items that are associated with this axis rect.

An item is considered associated with an axis rect if any of its positions has key or value axis set to an axis that is in this axis rect, or if any of its positions has QCPItemPosition::setAxisRect set to the axis rect, or if the clip axis rect (QCPAbstractItem::setClipAxisRect) is set to this axis rect.

See also
plottables, graphs

Definition at line 12104 of file qcustomplot.cpp.

◆ left()

int QCPAxisRect::left ( ) const
inline

Returns the pixel position of the left border of this axis rect.

Margins are not taken into account here, so the returned value is with respect to the inner rect.

Definition at line 2001 of file qcustomplot.h.

◆ mouseMoveEvent()

void QCPAxisRect::mouseMoveEvent ( QMouseEvent *  event)
protectedvirtual

This event is called, if the mouse is moved inside the outer rect of this layout element.

Reimplemented from QCPLayoutElement.

Definition at line 12519 of file qcustomplot.cpp.

◆ mousePressEvent()

void QCPAxisRect::mousePressEvent ( QMouseEvent *  event)
protectedvirtual

This event is called, if the mouse was pressed while being inside the outer rect of this layout element.

Reimplemented from QCPLayoutElement.

Definition at line 12489 of file qcustomplot.cpp.

◆ mouseReleaseEvent()

void QCPAxisRect::mouseReleaseEvent ( QMouseEvent *  event)
protectedvirtual

This event is called, if the mouse was previously pressed inside the outer rect of this layout element and is now released.

Reimplemented from QCPLayoutElement.

Definition at line 12564 of file qcustomplot.cpp.

◆ plottables()

QList< QCPAbstractPlottable * > QCPAxisRect::plottables ( ) const

Returns a list of all the plottables that are associated with this axis rect.

A plottable is considered associated with an axis rect if its key or value axis (or both) is in this axis rect.

See also
graphs, items

Definition at line 12062 of file qcustomplot.cpp.

◆ rangeDrag()

Qt::Orientations QCPAxisRect::rangeDrag ( ) const
inline

Definition at line 1966 of file qcustomplot.h.

◆ rangeDragAxis()

QCPAxis * QCPAxisRect::rangeDragAxis ( Qt::Orientation  orientation)

Returns the range drag axis of the orientation provided.

See also
setRangeDragAxes

Definition at line 12273 of file qcustomplot.cpp.

◆ rangeZoom()

Qt::Orientations QCPAxisRect::rangeZoom ( ) const
inline

Definition at line 1967 of file qcustomplot.h.

◆ rangeZoomAxis()

QCPAxis * QCPAxisRect::rangeZoomAxis ( Qt::Orientation  orientation)

Returns the range zoom axis of the orientation provided.

See also
setRangeZoomAxes

Definition at line 12283 of file qcustomplot.cpp.

◆ rangeZoomFactor()

double QCPAxisRect::rangeZoomFactor ( Qt::Orientation  orientation)

Returns the range zoom factor of the orientation provided.

See also
setRangeZoomFactor

Definition at line 12293 of file qcustomplot.cpp.

◆ removeAxis()

bool QCPAxisRect::removeAxis ( QCPAxis axis)

Removes the specified axis from the axis rect and deletes it.

Returns true on success, i.e. if axis was a valid axis in this axis rect.

See also
addAxis

Definition at line 11939 of file qcustomplot.cpp.

◆ right()

int QCPAxisRect::right ( ) const
inline

Returns the pixel position of the right border of this axis rect.

Margins are not taken into account here, so the returned value is with respect to the inner rect.

Definition at line 2002 of file qcustomplot.h.

◆ setBackground() [1/3]

void QCPAxisRect::setBackground ( const QBrush &  brush)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Sets brush as the background brush.

The axis rect background will be filled with this brush. Since axis rects place themselves on the "background" layer by default, the axis rect backgrounds are usually drawn below everything else.

The brush will be drawn before (under) any background pixmap, which may be specified with setBackground(const QPixmap &pm).

To disable drawing of a background brush, set brush to Qt::NoBrush.

See also
setBackground(const QPixmap &pm)

Definition at line 12223 of file qcustomplot.cpp.

◆ setBackground() [2/3]

void QCPAxisRect::setBackground ( const QPixmap &  pm)

Sets pm as the axis background pixmap.

The axis background pixmap will be drawn inside the axis rect. Since axis rects place themselves on the "background" layer by default, the axis rect backgrounds are usually drawn below everything else.

For cases where the provided pixmap doesn't have the same size as the axis rect, scaling can be enabled with setBackgroundScaled and the scaling mode (i.e. whether and how the aspect ratio is preserved) can be set with setBackgroundScaledMode. To set all these options in one call, consider using the overloaded version of this function.

Below the pixmap, the axis rect may be optionally filled with a brush, if specified with setBackground(const QBrush &brush).

See also
setBackgroundScaled, setBackgroundScaledMode, setBackground(const QBrush &brush)

Definition at line 12204 of file qcustomplot.cpp.

◆ setBackground() [3/3]

void QCPAxisRect::setBackground ( const QPixmap &  pm,
bool  scaled,
Qt::AspectRatioMode  mode = Qt::KeepAspectRatioByExpanding 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Allows setting the background pixmap of the axis rect, whether it shall be scaled and how it shall be scaled in one call.

See also
setBackground(const QPixmap &pm), setBackgroundScaled, setBackgroundScaledMode

Definition at line 12235 of file qcustomplot.cpp.

◆ setBackgroundScaled()

void QCPAxisRect::setBackgroundScaled ( bool  scaled)

Sets whether the axis background pixmap shall be scaled to fit the axis rect or not.

If scaled is set to true, you may control whether and how the aspect ratio of the original pixmap is preserved with setBackgroundScaledMode.

Note that the scaled version of the original pixmap is buffered, so there is no performance penalty on replots. (Except when the axis rect dimensions are changed continuously.)

See also
setBackground, setBackgroundScaledMode

Definition at line 12253 of file qcustomplot.cpp.

◆ setBackgroundScaledMode()

void QCPAxisRect::setBackgroundScaledMode ( Qt::AspectRatioMode  mode)

If scaling of the axis background pixmap is enabled (setBackgroundScaled), use this function to define whether and how the aspect ratio of the original pixmap passed to setBackground is preserved.

See also
setBackground, setBackgroundScaled

Definition at line 12263 of file qcustomplot.cpp.

◆ setRangeDrag()

void QCPAxisRect::setRangeDrag ( Qt::Orientations  orientations)

Sets which axis orientation may be range dragged by the user with mouse interaction.

What orientation corresponds to which specific axis can be set with setRangeDragAxes(QCPAxis *horizontal, QCPAxis *vertical). By default, the horizontal axis is the bottom axis (xAxis) and the vertical axis is the left axis (yAxis).

To disable range dragging entirely, pass 0 as orientations or remove QCP::iRangeDrag from QCustomPlot::setInteractions. To enable range dragging for both directions, pass Qt::Horizontal | Qt::Vertical as orientations.

In addition to setting orientations to a non-zero value, make sure QCustomPlot::setInteractions contains QCP::iRangeDrag to enable the range dragging interaction.

See also
setRangeZoom, setRangeDragAxes, setNoAntialiasingOnDrag

Definition at line 12314 of file qcustomplot.cpp.

◆ setRangeDragAxes()

void QCPAxisRect::setRangeDragAxes ( QCPAxis horizontal,
QCPAxis vertical 
)

Sets the axes whose range will be dragged when setRangeDrag enables mouse range dragging on the QCustomPlot widget.

See also
setRangeZoomAxes

Definition at line 12345 of file qcustomplot.cpp.

◆ setRangeZoom()

void QCPAxisRect::setRangeZoom ( Qt::Orientations  orientations)

Sets which axis orientation may be zoomed by the user with the mouse wheel.

What orientation corresponds to which specific axis can be set with setRangeZoomAxes(QCPAxis *horizontal, QCPAxis *vertical). By default, the horizontal axis is the bottom axis (xAxis) and the vertical axis is the left axis (yAxis).

To disable range zooming entirely, pass 0 as orientations or remove QCP::iRangeZoom from QCustomPlot::setInteractions. To enable range zooming for both directions, pass Qt::Horizontal | Qt::Vertical as orientations.

In addition to setting orientations to a non-zero value, make sure QCustomPlot::setInteractions contains QCP::iRangeZoom to enable the range zooming interaction.

See also
setRangeZoomFactor, setRangeZoomAxes, setRangeDrag

Definition at line 12334 of file qcustomplot.cpp.

◆ setRangeZoomAxes()

void QCPAxisRect::setRangeZoomAxes ( QCPAxis horizontal,
QCPAxis vertical 
)

Sets the axes whose range will be zoomed when setRangeZoom enables mouse wheel zooming on the QCustomPlot widget.

The two axes can be zoomed with different strengths, when different factors are passed to setRangeZoomFactor(double horizontalFactor, double verticalFactor).

See also
setRangeDragAxes

Definition at line 12358 of file qcustomplot.cpp.

◆ setRangeZoomFactor() [1/2]

void QCPAxisRect::setRangeZoomFactor ( double  factor)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Sets both the horizontal and vertical zoom factor.

Definition at line 12384 of file qcustomplot.cpp.

◆ setRangeZoomFactor() [2/2]

void QCPAxisRect::setRangeZoomFactor ( double  horizontalFactor,
double  verticalFactor 
)

Sets how strong one rotation step of the mouse wheel zooms, when range zoom was activated with setRangeZoom.

The two parameters horizontalFactor and verticalFactor provide a way to let the horizontal axis zoom at different rates than the vertical axis. Which axis is horizontal and which is vertical, can be set with setRangeZoomAxes.

When the zoom factor is greater than one, scrolling the mouse wheel backwards (towards the user) will zoom in (make the currently visible range smaller). For zoom factors smaller than one, the same scrolling direction will zoom out.

Definition at line 12374 of file qcustomplot.cpp.

◆ setupFullAxesBox()

void QCPAxisRect::setupFullAxesBox ( bool  connectRanges = false)

Convenience function to create an axis on each side that doesn't have any axes yet and set their visibility to true.

Further, the top/right axes are assigned the following properties of the bottom/left axes:

Tick labels (QCPAxis::setTickLabels) of the right and top axes are set to false.

If connectRanges is true, the rangeChanged signals of the bottom and left axes are connected to the QCPAxis::setRange slots of the top and right axes.

Definition at line 11985 of file qcustomplot.cpp.

◆ size()

QSize QCPAxisRect::size ( ) const
inline

Returns the pixel size of this axis rect.

Margins are not taken into account here, so the returned value is with respect to the inner rect.

Definition at line 2007 of file qcustomplot.h.

◆ top()

int QCPAxisRect::top ( ) const
inline

Returns the pixel position of the top border of this axis rect.

Margins are not taken into account here, so the returned value is with respect to the inner rect.

Definition at line 2003 of file qcustomplot.h.

◆ topLeft()

QPoint QCPAxisRect::topLeft ( ) const
inline

Returns the top left corner of this axis rect in pixels.

Margins are not taken into account here, so the returned value is with respect to the inner rect.

Definition at line 2008 of file qcustomplot.h.

◆ topRight()

QPoint QCPAxisRect::topRight ( ) const
inline

Returns the top right corner of this axis rect in pixels.

Margins are not taken into account here, so the returned value is with respect to the inner rect.

Definition at line 2009 of file qcustomplot.h.

◆ update()

void QCPAxisRect::update ( UpdatePhase  phase)
virtual

This method is called automatically upon replot and doesn't need to be called by users of QCPAxisRect.

Calls the base class implementation to update the margins (see QCPLayoutElement::update), and finally passes the rect to the inset layout (insetLayout) and calls its QCPInsetLayout::update function.

Reimplemented from QCPLayoutElement.

Definition at line 12139 of file qcustomplot.cpp.

◆ updateAxesOffset()

void QCPAxisRect::updateAxesOffset ( QCPAxis::AxisType  type)
protected

Definition at line 12442 of file qcustomplot.cpp.

◆ wheelEvent()

void QCPAxisRect::wheelEvent ( QWheelEvent *  event)
protectedvirtual

This event is called, if the mouse wheel is scrolled while the cursor is inside the rect of this layout element.

Reimplemented from QCPLayoutElement.

Definition at line 12589 of file qcustomplot.cpp.

◆ width()

int QCPAxisRect::width ( ) const
inline

Returns the pixel width of this axis rect.

Margins are not taken into account here, so the returned value is with respect to the inner rect.

Definition at line 2005 of file qcustomplot.h.

Friends And Related Function Documentation

◆ QCustomPlot

friend class QCustomPlot
friend

Definition at line 2053 of file qcustomplot.h.

Member Data Documentation

◆ mAADragBackup

QCP::AntialiasedElements QCPAxisRect::mAADragBackup
protected

Definition at line 2031 of file qcustomplot.h.

◆ mAxes

QHash<QCPAxis::AxisType, QList<QCPAxis*> > QCPAxisRect::mAxes
protected

Definition at line 2034 of file qcustomplot.h.

◆ mBackgroundBrush

QBrush QCPAxisRect::mBackgroundBrush
protected

Definition at line 2020 of file qcustomplot.h.

◆ mBackgroundPixmap

QPixmap QCPAxisRect::mBackgroundPixmap
protected

Definition at line 2021 of file qcustomplot.h.

◆ mBackgroundScaled

bool QCPAxisRect::mBackgroundScaled
protected

Definition at line 2023 of file qcustomplot.h.

◆ mBackgroundScaledMode

Qt::AspectRatioMode QCPAxisRect::mBackgroundScaledMode
protected

Definition at line 2024 of file qcustomplot.h.

◆ mDragging

bool QCPAxisRect::mDragging
protected

Definition at line 2033 of file qcustomplot.h.

◆ mDragStart

QPoint QCPAxisRect::mDragStart
protected

Definition at line 2032 of file qcustomplot.h.

◆ mDragStartHorzRange

QCPRange QCPAxisRect::mDragStartHorzRange
protected

Definition at line 2030 of file qcustomplot.h.

◆ mDragStartVertRange

QCPRange QCPAxisRect::mDragStartVertRange
protected

Definition at line 2030 of file qcustomplot.h.

◆ mInsetLayout

QCPLayoutInset* QCPAxisRect::mInsetLayout
protected

Definition at line 2025 of file qcustomplot.h.

◆ mNotAADragBackup

QCP::AntialiasedElements QCPAxisRect::mNotAADragBackup
protected

Definition at line 2031 of file qcustomplot.h.

◆ mRangeDrag

Qt::Orientations QCPAxisRect::mRangeDrag
protected

Definition at line 2026 of file qcustomplot.h.

◆ mRangeDragHorzAxis

QPointer<QCPAxis> QCPAxisRect::mRangeDragHorzAxis
protected

Definition at line 2027 of file qcustomplot.h.

◆ mRangeDragVertAxis

QPointer<QCPAxis> QCPAxisRect::mRangeDragVertAxis
protected

Definition at line 2027 of file qcustomplot.h.

◆ mRangeZoom

Qt::Orientations QCPAxisRect::mRangeZoom
protected

Definition at line 2026 of file qcustomplot.h.

◆ mRangeZoomFactorHorz

double QCPAxisRect::mRangeZoomFactorHorz
protected

Definition at line 2028 of file qcustomplot.h.

◆ mRangeZoomFactorVert

double QCPAxisRect::mRangeZoomFactorVert
protected

Definition at line 2028 of file qcustomplot.h.

◆ mRangeZoomHorzAxis

QPointer<QCPAxis> QCPAxisRect::mRangeZoomHorzAxis
protected

Definition at line 2027 of file qcustomplot.h.

◆ mRangeZoomVertAxis

QPointer<QCPAxis> QCPAxisRect::mRangeZoomVertAxis
protected

Definition at line 2027 of file qcustomplot.h.

◆ mScaledBackgroundPixmap

QPixmap QCPAxisRect::mScaledBackgroundPixmap
protected

Definition at line 2022 of file qcustomplot.h.


The documentation for this class was generated from the following files: