15.2.1.1 Axis Configuration

The axis function may be used to change the axis limits of an existing plot and various other axis properties, such as the aspect ratio and the appearance of tic marks. By default, high level plotting functions such as plot reset axes properties. Any customization of properties, for example by calling axis, xlim, etc., should happen after the plot is done or, alternatively, after calling the hold function.

: axis ()
: axis ([x_lo x_hi])
: axis ([x_lo x_hi y_lo y_hi])
: axis ([x_lo x_hi y_lo y_hi z_lo z_hi])
: axis ([x_lo x_hi y_lo y_hi z_lo z_hi c_lo c_hi])
: axis (option)
: axis (option1, option2, …)
: axis (hax, …)
: limits = axis ()

Set axis limits and appearance.

The argument limits should be a 2-, 4-, 6-, or 8-element vector. The first and second elements specify the lower and upper limits for the x-axis. The third and fourth specify the limits for the y-axis, the fifth and sixth specify the limits for the z-axis, and the seventh and eighth specify the limits for the color axis. The special values -Inf and Inf may be used to indicate that the limit should be automatically computed based on the data in the axes.

Without any arguments, axis turns autoscaling on.

With one output argument, limits = axis returns the current axis limits.

The vector argument specifying limits is optional, and additional string arguments may be used to specify various axis properties.

The following options control the aspect ratio of the axes.

"square"

Force a square axis aspect ratio.

"equal"

Force x-axis unit distance to equal y-axis (and z-axis) unit distance.

"normal"

Restore default aspect ratio.

The following options control the way axis limits are interpreted.

"auto"
"auto[xyz]"
"auto [xyz]"

Set nice auto-computed limits around the data for all axes, or only the specified axes.

"manual"

Fix the current axes limits.

"tight"

Fix axes to the limits of the data.

"image"

Equivalent to "tight" and "equal".

"vis3d"

Set aspect ratio modes to "manual" for rotation without stretching.

The following options affect the appearance of tick marks.

"tic"
"tic[xyz]"
"tic [xyz]"

Turn tick marks on for all axes, or turn them on for the specified axes and off for the remainder.

"label"
"label[xyz]"
"label [xyz]"

Turn tick labels on for all axes, or turn them on for the specified axes and off for the remainder.

"nolabel"

Turn tick labels off for all axes.

Note: If there are no tick marks for an axes then there can be no labels.

The following options affect the direction of increasing values on the axes.

"xy"

Default y-axis, larger values are near the top.

"ij"

Reverse y-axis, smaller values are near the top.

The following options affects the visibility of the axes.

"on"

Make the axes visible.

"off"

Hide the axes.

If the first argument hax is an axes handle, then operate on this axes rather than the current axes returned by gca.

Example 1: set X/Y limits and force a square aspect ratio

axis ([1, 2, 3, 4], "square");

Example 2: enable tick marks on all axes, enable tick mark labels only on the y-axis

axis ("tic", "labely");

See also: xlim, ylim, zlim, caxis, daspect, pbaspect, box, grid.

Similarly the axis limits of the colormap can be changed with the caxis function.

: caxis ([cmin cmax])
: caxis ("auto")
: caxis ("manual")
: caxis (hax, …)
: limits = caxis ()

Query or set color axis limits for plots.

The limits argument should be a 2-element vector specifying the lower and upper limits to assign to the first and last value in the colormap. Data values outside this range are clamped to the first and last colormap entries.

If the "auto" option is given then automatic colormap limits are applied. The automatic algorithm sets cmin to the minimum data value and cmax to the maximum data value. If "manual" is specified then the "climmode" property is set to "manual" and the numeric values in the "clim" property are used for limits.

If the first argument hax is an axes handle, then operate on this axes rather than the current axes returned by gca.

Called without arguments the current color axis limits are returned.

Programming Note: The color axis affects the display of image, patch, and surface graphics objects, but only if the "cdata" property has indexed data and the "cdatamapping" property is set to "scaled". Graphic objects with true color cdata, or "direct" cdatamapping are not affected.

See also: colormap, axis.

The xlim, ylim, and zlim functions may be used to get or set individual axis limits. Each has the same form.

: xlimits = xlim ()
: xmode = xlim ("mode")
: xlim ([x_lo x_hi])
: xlim ("auto")
: xlim ("manual")
: xlim (hax, …)

Query or set the limits of the x-axis for the current plot.

Called without arguments xlim returns the x-axis limits of the current plot.

With the input query "mode", return the current x-limit calculation mode which is either "auto" or "manual".

If passed a 2-element vector [x_lo x_hi], the limits of the x-axis are set to these values and the mode is set to "manual". The special values -Inf and Inf can be used to indicate that either the lower axis limit or upper axis limit should be automatically calculated.

The current plotting mode can be changed by using either "auto" or "manual" as the argument.

If the first argument hax is an axes handle, then operate on this axes rather than the current axes returned by gca.

Programming Note: The xlim function operates by modifying the "xlim" and "xlimmode" properties of an axes object. These properties can be directly inspected and altered with get/set.

See also: ylim, zlim, axis, set, get, gca.

The xticks, yticks, zticks, rticks, and thetaticks functions may be used to get or set the tick mark locations and modes on the respective axis. Each has the same form, although mode options are not currently available for rticks, and thetaticks.

: tickval = xticks
: mode = xticks ("mode")
: xticks (tickval)
: xticks ("auto")
: xticks ("manual")
: … = xticks (hax, …)

Query or set the tick values on the x-axis of the current axis.

When called without an argument, return the current tick locations as specified in the "xtick" axes property. These locations can be changed by calling xticks with a vector of tick values. Note: ascending order is not required.

When called with argument "mode", xticks returns the current value of the axes property "xtickmode". This property can be changed by calling xticks with either "auto" (algorithm determines tick positions) or "manual" (tick values remain fixed regardless of axes resizing or rotation). Note: Specifying xtick values will also set the property "xtickmode" to "manual".

If the first argument hax is an axes handle, then operate on this axis rather than the current axes returned by gca.

Requesting a return value when calling xticks to set a property value will result in an error.

See also: xticklabels, yticks, zticks, rticks, thetaticks, get, set.

The xticklabels, yticklabels, and zticklabels functions may be used to get or set the label assigned to each tick location and the labeling mode on the respective axis. Each has the same form.

: tickval = xticklabels
: mode = xticklabels ("mode")
: xticklabels (tickval)
: xticklabels ("auto")
: xticklabels ("manual")
: … = xticklabels (hax, …)

Query or set the tick labels on the x-axis of the current axis.

When called without an argument, return a cell array of strings of the current tick labels as specified in the "xticklabel" axes property. These labels can be changed by calling xticklabels with a cell array of strings. Note: a vector of numbers will be mapped to a cell array of strings. If fewer labels are specified than the current number of ticks, blank labels will be appended to the array.

When called with argument "mode", xticklabels returns the current value of the axes property "xticklabelmode". This property can be changed by calling xticklabels with either "auto" (algorithm determines tick labels) or "manual" (tick labels remain fixed). Note: Specifying xticklabel values will also set the "xticklabelmode" and "xticks" properties to "manual".

If the first argument hax is an axes handle, then operate on this axis rather than the current axes returned by gca.

Requesting a return value when calling xticklabels to set a property value will result in an error.

See also: xticks, yticklabels, zticklabels, get, set.

© 1996–2020 John W. Eaton
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://octave.org/doc/v6.3.0/Axis-Configuration.html