what 's different between axis square and axis equal in matlab ?
224 次查看(过去 30 天)
显示 更早的评论
when I plot or surf, what's different between axis square and axis equal ?
0 个评论
采纳的回答
Mahdi
2014-5-27
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 个评论
更多回答(1 个)
Narin Deveci
2020-10-30
Do you know the formula to set your axes to be square?
5 个评论
Muhammad Safdar
2020-11-23
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
2025-4-29
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
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Surface and Mesh Plots 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!