Matlab三维图中如何实现x,y坐标名称与各自的坐标轴平行?
Matlab三维图中如何实现x,y坐标名称与各自的坐标轴平行?
我画出的Matlab三维图中,x,y坐标的名称都是水平的(如图中’东西方向‘不与x轴平行),如何实现x,y坐标名称与各自的坐标轴平行?
[ Last edited by 唐去过 on 2012-6-17 at 10:09 ] 返回小木虫查看更多
今日热帖
Matlab三维图中如何实现x,y坐标名称与各自的坐标轴平行?
我画出的Matlab三维图中,x,y坐标的名称都是水平的(如图中’东西方向‘不与x轴平行),如何实现x,y坐标名称与各自的坐标轴平行?
[ Last edited by 唐去过 on 2012-6-17 at 10:09 ] 返回小木虫查看更多
figure;
[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
mesh(Z);
x1=xlabel('X');
x2=ylabel('Y');
x3=zlabel('Z');
set(x1,'Rotation',45);
set(x2,'Rotation',-45);
或者画完图后添加完label直接双击数字,特性里面设置一下旋转角度
谢谢
不过这种方法也不太好,比如当我把图像旋转一个角度后,就又不平行了。请问有没有更好的方法呢
,
如果你有时间精力去做这个的话,可以获取axis中的camera属性,通过cameraposition,cameraangel,cameratarget来计算这个角度,然后把这个角度赋给label,在每次你旋转时,这些参数会变化,你需要更新图像来获得最新的显示。
还有一种方法可以试试的是将label嵌入到轴tick中去(如X轴的20标记处),让tick换行离远点,不知道可行否。
其它的方法静待高手了