![untitled.bmp](https://www.mathworks.com/matlabcentral/answers/uploaded_files/208370/untitled.bmp)
Changing Axes direction with positive z-axis downwards
127 次查看(过去 30 天)
显示 更早的评论
Hello, I would like to change the direction of a 3d plot I am making. By default, Matlab has positive x-axis backwards, y-axis toward left side and z-axis toward upward direction (as in the attached picture). While maintaining the right hand coordinate system, I would like to switch the axis such that z-axis is positive downwards, x-axis toward right side and y-axis toward forward direction.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/208358/image.png)
Here's a part of the code if that's any help.
Thanks for your help in advance!
[x,y,z] = sphere;
figure(1)
surf(x,y,z+1.5)
hold on
p0 = zeros(6,3);
p1 = r_LPSphere0_0';
quiver3(p0(:,1), p0(:,2), p0(:,3), p1(:,1), p1(:,2), p1(:,3))
xlabel('x-axis')
ylabel('y-axis')
zlabel('z-axis')
0 个评论
采纳的回答
Brian Hart
2019-3-13
Hi Ryan,
The first step is to change your second line to say
f = figure(1);
This gives you a handle to update the figure properties. To flip the z axis,
f.CurrentAxes.ZDir = 'Reverse'
To change the other two axes, first look at the current viewpoint, called the "camera position":
>> f.CurrentAxes.CameraPosition
ans =
-9.1314 -11.9003 -7.1603
If you change the z position of the view point, you get something that I think matches what you are looking for:
>> f.CurrentAxes.CameraPosition = [-9 -12 +7]
![untitled.bmp](https://www.mathworks.com/matlabcentral/answers/uploaded_files/208370/untitled.bmp)
0 个评论
更多回答(1 个)
Star Strider
2019-3-15
If you only want to reverse the direcrtion of the z-axis, try this (after the surf call):
set(gca, 'ZDir','reverse')
The other axes remain unaffected.
1 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Graphics Object Programming 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!