what 's different between axis square and axis equal in matlab ?
280 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Nguyen Trong Nhan
el 27 de Mayo de 2014
Comentada: John D'Errico
el 29 de Abr. de 2025
when I plot or surf, what's different between axis square and axis equal ?
0 comentarios
Respuesta aceptada
Mahdi
el 27 de Mayo de 2014
axis equal sets the aspect ratio so that the data units are the same in every direction. The aspect ratio of the x-, y-, and z-axis is adjusted automatically according to the range of data units in the x, y, and z directions.
axis square makes the current axes region square (or cubed when three-dimensional). This option adjusts the x-axis, y-axis, and z-axis so that they have equal lengths and adjusts the increments between data units accordingly.
0 comentarios
Más respuestas (1)
Narin Deveci
el 30 de Oct. de 2020
Do you know the formula to set your axes to be square?
5 comentarios
Muhammad Safdar
el 23 de Nov. de 2020
Hi, I have a 3D plot, I set axis([-100 100 -80 120 -50 150]) followed by axis equal. That means I have equal range of data in all directions and figure should look like a cube but hight looks larger than bottom witdhs on my screen? why?
John D'Errico
el 29 de Abr. de 2025
Remember that a figure window, as created by default in MATLAB is not square. So even though you set the axis limits to have a distance of 200 from min to max on each axis, the result will not look like a cube, because each axis will then be scaled to fit into the rectangular box of the figure.
We can see this quite well using the function sphere. If I just call sphere, it will generate a nicely spherical shape, but it won't look like a sphere. Instead, you will see an oblate sphereoid.
sphere
Instead, if I set the axes to have equal units on each axis, (using the command "axis equal"), we will see the same thing, but now it will look sphereical.
figure
sphere
axis equal
Exactly the same thing happens when you tried to plot a cube. For example...
XYZ = rand(10000,3); % some data that lives inside the unit cube
Plotting the data in a set of default axes, it will not appear as if it lives in a cube.
plot3(XYZ(:,1),XYZ(:,2),XYZ(:,3),'.')
box on
But now, if I tell MATLAB this should live in a domain with equal scaling on the axes, we will see it as living inside a cubical domain.
figure
plot3(XYZ(:,1),XYZ(:,2),XYZ(:,3),'.')
axis equal
box on
Ver también
Categorías
Más información sobre Surface and Mesh Plots en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!