我想在matlab中更改3D绘图的视图,使y
- 轴指向上方,z
- 轴指向左侧。例如,请考虑以下图表:
此处x
- 轴指向前方,y
- 轴指向右侧,z
- 轴指向上方。
我希望y
- 轴向上,而z
- 轴指向左侧。我试图旋转绘图(使用图形窗口工具栏旋转按钮),但我无法让它工作。 (它应该是围绕x
轴的简单90度旋转)
生成情节的代码:
membrane
view(100,50)
xlabel('x-axis');
ylabel('y-axis');
zlabel('z-axis');
grid on
答案 0 :(得分:10)
尝试使用view
。我没有MATLAB可用,所以我无法测试它,但我认为它可以做你想要的。
文档中的示例:
沿y轴设置视图,x轴水平延伸 并且z轴在图中垂直延伸。
view([0 0]);
修改强>
尝试使用view
功能的三个输入。我无法自我实验,但如果你在这里选择正确的值,你应该可以做到这一点。
来自文档:
view([x,y,z])
将视图方向设置为笛卡尔坐标x, y和z。 (x,y,z)的大小被忽略。
编辑2:
结帐camroll
。我认为camroll(90)
(可能与view
结合使用)会奏效。
来自文档:
camroll(dtheta)
将相机绕相机视轴旋转 dtheta中指定的金额(以度为单位)。视轴是 线穿过相机位置和相机目标。
答案 1 :(得分:4)
这是在不久前发布的,但是如果其他人正在寻找将y轴设置为垂直的方法,这里是一个可能的修复方法。
手动:在命令窗口中输入cameratoolbar(' show'),它将在您的图中打开一个交互式工具栏,您可以从中更改视图。其中一个选项是将主轴设置为x
,y
或z
。
或者在您的脚本中,您可以使用cameratoolbar(' SetCoordSys',coordsys)命令设置摄像机运动的主轴。 coordsys可以是:x
,y
,z
或none
。