在Matlab中更改3D视图

7
我想在Matlab中更改3D图的视图,使得y轴指向上方,z轴指向左侧。例如下面这个图: enter image description here 在这个图中,x轴指向前方,y轴指向右侧,z轴指向上方。
我希望y轴指向上方,z轴指向左侧。我尝试旋转图像(使用 figure 窗口工具栏中的旋转按钮),但无法成功。(应该只需要绕x轴简单旋转90度)
生成图像的代码如下:
  membrane
  view(100,50)
  xlabel('x-axis');
  ylabel('y-axis');
  zlabel('z-axis');
  grid on
2个回答

11
尝试使用 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)按指定的度数(以度为单位)绕相机查看轴旋转相机。查看轴是通过相机位置和相机目标穿过的线。


谢谢,但这似乎没有达到我想要的效果。现在我得到了一个二维视图,其中 x 轴指向右侧,z 轴指向上方。我需要一个三维视图,就像我问题中的图示一样。 - Håkon Hægland
好的,我会尝试.. 但是 xyz我应该选择哪些值? - Håkon Hægland
我已经尝试了这些数值:[1 0 0; 0 1 0; 0 0 1; 1 1 0; 1 0 1; 0 1 1],但似乎没有一个有效。 - Håkon Hægland
谢谢,camroll 确实起作用了 :) .. 不过轴标签似乎有些问题.. - Håkon Hægland
这是结果:http://imgur.com/pPuTb9T 请注意轴的标签非常奇怪。 - Håkon Hægland
@HåkonHægland:很抱歉,我无法帮助您。建议您提出一个新问题,展示如何旋转图表,包括图片,并询问是否可以调整标签。我猜这样做会更有机会得到答案。 - Stewie Griffin

4
这是一篇较早发布的文章,但如果有人正在寻找设置y轴为垂直轴的方法,这里提供了一个可能的解决方案。
手动方式:在命令窗口中键入“cameratoolbar('show')”,将打开一个交互式工具栏,您可以从中更改视图。其中一个选项是将主轴设置为x、y或z。
或者在您的脚本中,您可以使用“cameratoolbar('SetCoordSys',coordsys)”命令设置相机运动的主轴。coordsys可以是:x、y、z或none。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接