在matlab中更改3D视图

时间:2014-01-28 11:47:37

标签: matlab

我想在matlab中更改3D绘图的视图,使y - 轴指向上方,z - 轴指向左侧。例如,请考虑以下图表:

enter image description here

此处x - 轴指向前方,y - 轴指向右侧,z - 轴指向上方。

我希望y - 轴向上,而z - 轴指向左侧。我试图旋转绘图(使用图形窗口工具栏旋转按钮),但我无法让它工作。 (它应该是围绕x轴的简单90度旋转)

生成情节的代码:

  membrane
  view(100,50)
  xlabel('x-axis');
  ylabel('y-axis');
  zlabel('z-axis');
  grid on

2 个答案:

答案 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'),它将在您的图中打开一个交互式工具栏,您可以从中更改视图。其中一个选项是将主轴设置为xyz

或者在您的脚本中,您可以使用cameratoolbar(' SetCoordSys',coordsys)命令设置摄像机运动的主轴。 coordsys可以是:xyznone

http://uk.mathworks.com/help/matlab/ref/cameratoolbar.html