Automatically Calculated Properties

When plotting functions create graphs, many of the axes properties that are under automatic control adjust to best display the graph. These properties adjust automatically when their associated mode property is set to auto (which is the default). The following table lists the axes automatic-mode properties.

    Note:   When setting any mode property to 'manual' from within a function, you should call drawnow first to ensure the corresponding property has been updated to the latest value.

Mode Property

What It Controls

CameraPositionMode

Positioning of the viewpoint

CameraTargetMode

Positioning of the camera target in the axes

CameraUpVectorMode

The direction of "up" in 2-D and 3-D views

CameraViewAngleMode

The size of the projected scene and stretch-to-fit behavior

CLimMode

Mapping of data values to colors

DataAspectRatioMode

Relative scaling of data units along x-, y-, and z-axes and stretch-to-fit behavior

PlotBoxAspectRatioMode

Relative scaling of plot box along x-, y-, and z-axes and stretch-to-fit behavior

TickDirMode

Direction of axis tick marks (in for 2-D, out for 3-D)

XLimMode

YLimMode

ZLimMode

Limits of the respective x, y, and z axes

XTickMode

YTickMode

ZTickMode

Tick mark spacing along the respective x-, y-, and z-axes

XTickLabelMode

ZTickLabelMode

YTickLabelMode

Tick mark labels along the respective x-, y-, and z-axes

For example, these statements graph two lines:

x = 1:10;
y = 1:10;
plot(x,y)
hold on
plot(x,y.^2)

The second plot statement causes the axes YLim property to change from [0,10] to [0,100].

This is because YLimMode is auto, which means the axes recompute the axis limits whenever necessary.

If you assign a value to a property controlled by an automatic-mode property, MATLAB® sets the mode property to manual. When the mode property is manual, the axes does not automatically recompute the property value.

For example,

x = 1:10;
y = 1:10;
plot(x,y)
hold on
ax = gca;
ax.XLim = [1,10];
ax.YLim = [1,20];
plot(x,y.^2)

Setting values for the XLim and YLim properties changes the XLimMode and YLimMode properties to manual. The second plot statement draws a line that is clipped to the axis limits instead of causing the axes to recompute its limits.

Was this topic helpful?