Create axes graphics object


h = axes(...)


For a list of properties, see Axes Properties.


axes creates an axes graphics object in the current figure using default property values. axes is the low-level function for creating axes graphics objects. MATLAB® automatically creates an axes, if one does not already exist, when you issue a command that creates a graph.

axes('PropertyName',propertyvalue,...) creates an axes object having the specified property values. For a description of the properties, see Axes Properties. MATLAB uses default values for any properties that you do not explicitly define as arguments. 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). 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.

axes(h) makes existing axes h the current axes and brings the figure containing it into focus. 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, rectangle, surface, and text graphics objects.

If you want to make an axes the current axes without changing the state of the parent figure, set the CurrentAxes property of the figure containing the axes:


This command is useful if you want a figure to remain minimized or stacked below other figures, but want to specify the current axes.

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

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.

Set default axes properties on the figure and root levels:

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


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.


collapse all

Position Multiple Axes in Figure Window

Create multiple axes in a single figure window and specify their positions.




To create a figure select New > Figure from the figure window File menu. To add an axes to a figure, click one of the New Subplots icons in the Figure Palette, and slide right to select an arrangement of new axes. For details, see Customize Graph Using Plot Tools.

See Also



Introduced before R2006a

Was this topic helpful?