redboy202 发表于 2011-4-17 18:26:19

matlab改变坐标轴方向?

本帖最后由 ljelly 于 2011-4-19 10:16 编辑

一般matlab画二维图时,都是y轴朝上是正,x轴朝右是正,怎么样才能使y轴朝下是正,x轴朝左是正,谢谢?

nwcwww 发表于 2011-4-18 09:30:11

随便举个例子:

x=[-5:.01:5];y=(x+1).^2-15;h=figure;plot(x,y);




然后修改axes的属性就行了:

h1=get(h,'currentaxes');
set(h1,'XDir','reverse');
set(h1,'YDir','reverse');

nwcwww 发表于 2011-4-19 05:45:03

本帖最后由 nwcwww 于 2011-4-19 05:48 编辑

果然会错意了。。楼主PM说其实是想让X轴在上,Y轴在右边,然后(0, 0)在右上
但操作起来方法基本一样的。
这里提供一种方法,但是应该还有更简单的。

x=[-5:.01:5];y=x.^2;figure;plot(x,y);grid on %画原图



set(gca,'xaxislocation','top');
set(gca,'yaxislocation','right');%调整坐标轴位置



%因为想要(0, 0)在右上,所以除了翻转坐标轴外还要去掉x<0的部分
set(gca,'xlim',);
axis ij %翻转y轴,也可以参照下面的语句用'ydir'
set(gca,'xdir','reverse');



总觉得这Y轴读数看起来像是-5 -10啥的。。。放在右边就这点最不爽。
你可以考虑自己美化下。

redboy202 发表于 2011-4-19 21:08:40

非常感谢,帮了大忙了
页: [1]
查看完整版本: matlab改变坐标轴方向?