MATLAB Function Reference Previous page   Next Page

Create axes graphics object



axes is the low-level function for creating axes graphics objects.

axes creates an axes graphics object in the current figure using default property values.

axes('PropertyName',PropertyValue,...) creates an axes object having the specified property values. MATLAB uses default values for any properties that you do not explicitly define as arguments.

axes(h) makes existing axes h the current axes. It also makes h the first axes listed in the figure's Children property and sets the figure's CurrentAxes property to h. The current axes is the target for functions that draw image, line, patch, surface, and text graphics objects.

h = axes(...) returns the handle of the created axes object.


MATLAB automatically creates an axes, if one does not already exist, when you issue a command that creates a graph.

The axes function accepts property name/property value pairs, structure arrays, and cell arrays as input arguments (see the set and get commands for examples of how to specify these data types). These properties, which control various aspects of the axes object, are described in the Axes Properties section.

Use the set function to modify the properties of an existing axes or the get function to query the current values of axes properties. Use the gca command to obtain the handle of the current axes.

The axis (not axes) function provides simplified access to commonly used properties that control the scaling and appearance of axes.

While the basic purpose of an axes object is to provide a coordinate system for plotted data, axes properties provide considerable control over the way MATLAB displays data.


By default, MATLAB stretches the axes to fill the axes position rectangle (the rectangle defined by the last two elements in the Position property). This results in graphs that use the available space in the rectangle. However, some 3-D graphs (such as a sphere) appear distorted because of this stretching, and are better viewed with a specific three-dimensional aspect ratio.

Stretch-to-fill is active when the DataAspectRatioMode, PlotBoxAspectRatioMode, and CameraViewAngleMode are all auto (the default). However, stretch-to-fill is turned off when the DataAspectRatio, PlotBoxAspectRatio, or CameraViewAngle is user-specified, or when one or more of the corresponding modes is set to manual (which happens automatically when you set the corresponding property value).

This picture shows the same sphere displayed both with and without the stretch-to-fill. The dotted lines show the axes rectangle.

When stretch-to-fill is disabled, MATLAB sets the size of the axes to be as large as possible within the constraints imposed by the Position rectangle without introducing distortion. In the picture above, the height of the rectangle constrains the axes size.



Zoom in using aspect ratio and limits:

Zoom in and out using the CameraViewAngle:

Note that both examples disable the MATLAB stretch-to-fill behavior.

Positioning the Axes

The axes Position property enables you to define the location of the axes within the figure window. For example,

creates an axes object at the specified position within the current figure and returns a handle to it. Specify the location and size of the axes with a rectangle defined by a four-element vector,

The left and bottom elements of this vector define the distance from the lower left corner of the figure to the lower left corner of the rectangle. The width and height elements define the dimensions of the rectangle. You specify these values in units determined by the Units property. By default, MATLAB uses normalized units where (0,0) is the lower left corner and (1.0,1.0) is the upper right corner of the figure window.

You can define multiple axes in a single figure window:

In this example, the first plot occupies the bottom two-thirds of the figure, and the second occupies the top third.

Object Hierarchy

Setting Default Properties

You can set default axes properties on the figure and root levels:

where PropertyName is the name of the axes property and PropertyValue is the value you are specifying. Use set and get to access axes properties.

See Also

axis, cla, clf, figure, gca, grid, subplot, title, xlabel, ylabel, zlabel, view

Axes Operations for related functions

Axes Properties for more examples

See Types of Graphics Objects for information on core, group, plot, and annotation objects.

Previous page  aviread Axes Properties Next page

© 1994-2005 The MathWorks, Inc.