Set or query axes data aspect ratio
The data aspect ratio determines the relative scaling of the data units along the x-, y-, and z-axes.
daspect([aspect_ratio]) sets the data aspect ratio in the current axes to the specified value. Specify the aspect ratio as three relative values representing the ratio of the x-, y-, and z-axis scaling (e.g., [1 1 3] means one unit in x is equal in length to one unit in y and three units in z).
daspect('mode') returns the current value of the data aspect ratio mode, which can be either auto (the default) or manual. See TipsRemarks.
The following surface plot of the function is useful to illustrate the data aspect ratio. First plot the function over the range –2 ≤ x ≤ 2, –2 ≤ y ≤ 2,
[x,y] = meshgrid([-2:.2:2]); z = x.*exp(-x.^2 - y.^2); surf(x,y,z)
Querying the data aspect ratio shows how the surface is drawn.
daspect ans = 4 4 1
Setting the data aspect ratio to [1 1 1] produces a surface plot with equal scaling along each axis.
daspect([1 1 1])
When the data aspect ratio mode is auto, the data aspect ratio adjusts so that each axis spans the space available in the figure window. If you are displaying a representation of a real-life object, you should set the data aspect ratio to [1 1 1] to produce the correct proportions.
Setting a value for data aspect ratio or setting the data aspect ratio mode to manual disables the MATLAB® stretch-to-fill feature (stretching of the axes to fit the window). This means setting the data aspect ratio to a value, including its current value,
can cause a change in the way the graphs look. See the Remarks section of the axes description for more information.