Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

axis

Set axis limits and aspect ratios

Syntax

axis(limits)
axis style
axis mode
axis ydirection
axis visibility
lim = axis
[m,v,d] = axis('state')
___ = axis(ax,___)

Description

example

axis(limits) specifies the limits for the current axes. Specify the limits as vector of four, six, or eight elements.

example

axis style uses a predefined style to set the limits and scaling. For example, specify the style as equal to use equal data unit lengths along each axis.

example

axis mode sets whether MATLAB® automatically chooses the limits or not. Specify the mode as manual, auto, or one of the semiautomatic options, such as 'auto x'.

example

axis ydirection, where ydirection is ij, places the origin at the upper left corner of the axes. The y values increase from top to bottom. The default for ydirection is xy, which places the origin at the lower left corner. The y values increase from bottom to top.

example

axis visibility, where visibility is off, turns off the display of the axes background. Plots in the axes still display. The default for visibility is on, which displays the axes background.

example

lim = axis returns the x-axis and y-axis limits for the current axes. For 3-D axes, it also returns the z-axis limits. For polar axes, it returns the theta-axis and r-axis limits.

[m,v,d] = axis('state') returns the current settings for the axis limit selection, the axes visibility, and the y-axis direction. This syntax will be removed in a future release. Use the XLimMode, YLimMode, ZLimMode, Visible, and YDir properties of the axes to get the values instead.

example

___ = axis(ax,___) uses the axes or polar axes specified by ax instead of the current axes. Specify ax as the first input argument for any of the previous syntaxes. Use single quotes around input arguments that are character vectors, such as axis(ax,'equal').

Examples

collapse all

Plot the sine function.

x = linspace(0,2*pi);
y = sin(x);
plot(x,y,'-o')

Change the axis limits so that the x-axis ranges from to and the y-axis ranges from -1.5 to 1.5.

axis([0 2*pi -1.5 1.5])

Create a plot. Set the limits for the x-axis and set the minimum y-axis limit. Use an automatically calculated value for the maximum y-axis limit.

x = linspace(-10,10,200);
y = sin(4*x)./exp(.1*x);
plot(x,y)
axis([-10 10 0 inf])

Create a figure with two subplots. Plot a sine wave in each subplot. Then, set the axis limits for the subplots to the same values.

x1 = linspace(0,10,100);
y1 = sin(x1);
ax1 = subplot(2,1,1);
plot(ax1,x1,y1)

x2 = linspace(0,5,100);
y2 = sin(x2);
ax2 = subplot(2,1,2);
plot(ax2,x2,y2)

axis([ax1 ax2],[0 10 -1 1])

Plot a surface without displaying the axes lines and background.

surf(peaks)
axis off

Plot a surface. Set the axis limits to equal the range of the data so that the plot extends to the edges of the axes.

surf(peaks)
axis tight

Return the values of the current axis limits.

l = axis
l = 

    1.0000   49.0000    1.0000   49.0000   -6.5466    8.0752

Create a checkerboard plot and change the direction of the coordinate system.

First, create the plot using the summer colormap. By default, the x values increase from left to right and the y values increase from bottom to top.

C = eye(10);
pcolor(C)
colormap summer

Reverse the coordinate system so that the y values increase from top to bottom.

axis ij

Plot a sine wave.

x = linspace(0,10);
y = sin(x);
plot(x,y)

Add another sine wave to the axes using hold on. Keep the current axis limits by setting the limits mode to manual.

y2 = 2*sin(x);
hold on
axis manual
plot(x,y2)
hold off

If you want the axes to choose the appropriate limits, set the limits mode back to automatic.

axis auto

Input Arguments

collapse all

Axis limits, specified as a vector of four, six, or eight elements.

For Cartesian axes, specify the limits in one of these forms:

  • [xmin xmax ymin ymax] — Set the x-axis limits to range from xmin to xmax. Set the y-axis limits to range from ymin to ymax.

  • [xmin xmax ymin ymax zmin zmax] — Also set the z-axis limits to range from zmin to zmax.

  • [xmin xmax ymin ymax zmin zmax cmin cmax] — Also set the color limits. cmin is the data value that corresponds to the first color in the colormap. cmax is the data value that corresponds to the last color in the colormap.

The XLim, YLim, ZLim, and CLim properties for the Axes object store the limit values.

For polar axes, specify the limits in this form:

  • [thetamin thetamax rmin rmax] — Set the theta-axis limits to range from thetamin to thetamax. Set the r-axis limits to range from rmin to rmax.

The ThetaLim and RLim properties for the PolarAxes object store the limit values.

For partially automatic limits, use inf or -inf for the limits you want the axes to choose automatically. For example, axis([-inf 10 0 inf]) lets the axes choose the appropriate minimum x-axis limit and maximum y-axis limit. It uses the specified values for the maximum x-axis limit and minimum y-axis limit.

Note

If the x-axis, y-axis, or z-axis displays categorical, datetime, or duration values, then use the xlim, ylim, and zlim functions to set the limits instead.

Example: axis([0 1 0 1])

Example: axis([0 1 0 1 0 1])

Example: axis([0 inf 0 inf])

Manual, automatic, or semiautomatic selection of axis limits, specified as one of the values in this table.

ValueDescriptionAxes Properties That Change
manual Freeze all axis limits at their current values. Sets XLimMode, YLimMode, and ZLimMode to 'manual'. If you are working with polar axes, then this option sets ThetaLimMode and RLimMode to 'manual'.
autoAutomatically choose all axis limits. Sets XLimMode, YLimMode, and ZLimMode to 'auto'. If you are working with polar axes, then this option sets ThetaLimMode and RLimMode to 'auto'.
'auto x'Automatically choose the x-axis limits. Sets XLimMode to 'auto'.
'auto y'Automatically choose the y-axis limits. Sets YLimMode to 'auto'.
'auto z'Automatically choose the z-axis limits. Sets ZLimMode to 'auto'.
'auto xy'Automatically choose the x-axis and y-axis limits. Sets XLimMode and YLimMode to 'auto'.
'auto xz'Automatically choose the x-axis and z-axis limits. Sets XLimMode and ZLimMode to 'auto'.
'auto yz'Automatically choose the y-axis and z-axis limits. Sets YLimMode and ZLimMode to 'auto'.

Note

You cannot use these options with polar axes.

Axis limits and scaling, specified as one of these values.

ValueDescriptionAxes Properties That Change
tightFit the axes box tightly around the data by setting the axis limits equal to the range of the data. XLimMode, YLimMode, and ZLimMode change to 'auto'. If you are working with polar axes, then ThetaLimMode and RLimMode change. The limits automatically update to incorporate new data added to the axes. To keep the limits from changing when using hold on, use axis tight manual.
equalUse the same length for the data units along each axis. Sets DataAspectRatio to [1 1 1], sets PlotBoxAspectRatio to [3 4 4], and sets the associated mode properties to manual. Disables the “stretch-to-fill” behavior.
imageUse the same length for the data units along each axis and fit the axes box tightly around the data. Sets DataAspectRatio to [1 1 1]and sets the associated mode property to manual. Disables the “stretch-to-fill” behavior.
squareUse axis lines with equal lengths. Adjust the increments between data units accordingly. Sets PlotBoxAspectRatio to [1 1 1] and sets the associated mode property to manual. Disables the “stretch-to-fill” behavior.
fillEnable the “stretch-to-fill” behavior (the default). The lengths of each axis line fill the position rectangle defined in the Position property of the axes.Sets the plot box aspect ratio mode and data aspect ratio mode properties to auto.
vis3dFreeze the aspect ratio properties.Sets the plot box aspect ratio mode and data aspect ratio mode properties to manual.
normalRestore the default behavior.Sets the plot box aspect ratio mode and data aspect ratio mode properties to auto.

For more information on the plot box aspect ratio and the data aspect ratio, see the PlotBoxAspectRatio and DataAspectRatio properties.

Note

You cannot use these options with polar axes, except for the axis tight and axis normal commands.

y-axis direction, specified as one of these values:

  • xy — Default direction. For axes in a 2-D view, the y-axis is vertical with values increasing from bottom to top.

  • ij — Reverse direction. For axes in a 2-D view, the y-axis is vertical with values increasing from top to bottom.

Note

You cannot use these options with polar axes.

Axes lines and background visibility, specified as either on or off. Specifying the visibility sets the Visible property of the Axes object or PolarAxes object to the specified value.

Target axes, specified as one or more axes. You can specify Axes objects or PolarAxes objects. If you do not specify the axes, then axis sets the limits for the current axes (gca).

When you specify the axes, use single quotes around other input arguments that are character vectors.

Example: axis(ax,'tight')

Example: axis(ax,limits)

Example: axis(ax,'manual')

Output Arguments

collapse all

Current limit values, returned as a four-element or six-element vector.

  • For Cartesian axes in a 2-D view, lim is of the form [xmin xmax ymin ymax]. For axes in a 3-D view, lim is of the form [xmin xmax ymin ymax zmin zmax]. The XLim, YLim, and ZLim properties for the Axes object store the limit values.

  • For polar axes, lim is of the form [thetamin thetamax rmin rmax]. The ThetaLim and RLim properties for the PolarAxes object store the limit values.

Tips

  • You can combine multiple input arguments together, for example, axis image ij . The options are evaluated from left to right. Subsequent options can overwrite properties set by prior ones.

  • If axes do not exist, the axis function creates them.

  • Use hold on to keep plotting functions from overriding preset axis limits.

Introduced before R2006a

Was this topic helpful?