MATLAB Function Reference |

**Syntax**

**Description**

`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('`

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

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

**Remarks**

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.

**Zooming**

Zoom in using aspect ratio and limits:

Zoom in and out using the `CameraViewAngle`

:

sphere set(gca,'CameraViewAngle',get(gca,'CameraViewAngle')-5) set(gca,'CameraViewAngle',get(gca,'CameraViewAngle')+5)

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:

set(0,'DefaultAxes

*PropertyName*',PropertyValue,...) set(gcf,'DefaultAxes*PropertyName*',PropertyValue,...)

where

is the name of the axes property and *PropertyName*`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.

aviread | Axes Properties |

© 1994-2005 The MathWorks, Inc.