当前位置: 首页 > 计算模拟 >Matlab三维图中如何实现x,y坐标名称与各自的坐标轴平行?

Matlab三维图中如何实现x,y坐标名称与各自的坐标轴平行?

作者 唐去过
来源: 小木虫 200 4 举报帖子
+关注

Matlab三维图中如何实现x,y坐标名称与各自的坐标轴平行?
我画出的Matlab三维图中,x,y坐标的名称都是水平的(如图中’东西方向‘不与x轴平行),如何实现x,y坐标名称与各自的坐标轴平行?



[ Last edited by 唐去过 on 2012-6-17 at 10:09 ] 返回小木虫查看更多

今日热帖
  • 精华评论
  • csgt0

    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);

  • csgt0

    或者画完图后添加完label直接双击数字,特性里面设置一下旋转角度

  • 唐去过

    引用回帖:
    2楼: Originally posted by csgt0 at 2012-06-18 17:28:34
    figure;
    = 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);

    谢谢
    不过这种方法也不太好,比如当我把图像旋转一个角度后,就又不平行了。请问有没有更好的方法呢

  • csgt0

    如果你有时间精力去做这个的话,可以获取axis中的camera属性,通过cameraposition,cameraangel,cameratarget来计算这个角度,然后把这个角度赋给label,在每次你旋转时,这些参数会变化,你需要更新图像来获得最新的显示。
    还有一种方法可以试试的是将label嵌入到轴tick中去(如X轴的20标记处),让tick换行离远点,不知道可行否。
    其它的方法静待高手了

猜你喜欢
下载小木虫APP
与700万科研达人随时交流
  • 二维码
  • IOS
  • 安卓