liky83672815 发表于 2006-12-26 11:05

关于axis

请问在窗口里建立axis怎么调整坐标轴大小和位置啊??我说的不是调横纵轴上下限是整个axis框的大小,改了很多属性没有用,哪位高手能给指点下啊谢谢了。

mulan 发表于 2006-12-26 14:43

属性position 有x,y,wide,height,大小位置都可以调了

liky83672815 发表于 2006-12-26 18:30

position属性我也设过了没什么变化啊,看来是不好使,不知道你怎么设的??程序能不能放出来??

eight 发表于 2006-12-26 19:30

原帖由 liky83672815 于 2006-12-26 18:30 发表
position属性我也设过了没什么变化啊,看来是不好使,不知道你怎么设的??程序能不能放出来??


try: axis equal or tight or...

geoer 发表于 2006-12-27 21:45

整体坐标轴的大小,没必要修改啊,如果嫌图形过小,不能清楚的显示细节部分,可以直接用放大镜放大,然后保存图形即可。不要太迷信代码的功能,关键在解决实际问题。

liky83672815 发表于 2006-12-28 09:32

不是啊,我是说,在一个figure窗口建一个axis的话它就要占很大部分,其他的空间就很小了我还想加些按钮什么的,所以我想调整axis的大小和位置,这样我便于其他的控件排版,我这么说明白了吗??或者换句话说,有没有其他方法也可以建立坐标轴并且可以调整大小位置,我总觉得axis没法设置这些。

eight 发表于 2006-12-28 10:19

原帖由 liky83672815 于 2006-12-28 09:32 发表
不是啊,我是说,在一个figure窗口建一个axis的话它就要占很大部分,其他的空间就很小了我还想加些按钮什么的,所以我想调整axis的大小和位置,这样我便于其他的控件排版,我这么说明白了吗??或者换句话说,有 ...


建议用fig文件方式(或者m文件方式)建立GUI,而不是figure一个窗口,这样就容易控制了,下面是fig文件方式的例子:

axes(handles.axes1);
imshow('circuit.tif');
set(handles.axes1,'position',);

m文件方式只需要把handles.axes1替换为你的axis句柄就可以了

liky83672815 发表于 2006-12-28 10:54

谢谢eight大人启发下面是我写的简单程序
h=figure(...
    'name','one',...
    'numbertitle','off',...
    'menubar','none',...
    'toolbar','none');
x=0:0.1:2*pi;
hpop=uicontrol(h,...
    'style','popup',...
    'unit','normalized',...
    'position',,...
    'string','无|sin(x)|cos(x)|tan(x)',...
    'callback',[...
    'switch get(hpop,''value''),',...
    'case 1,',...
    'case 2,',...
    'h2=plot(x,sin(x)),',...
    'case 3,',...
    'h3=plot(x,cos(x)),',...
    'case 4,',...
    'h4=plot(x,tan(x)),',...
    'end']);
axes(axes);
set(axes,'position',);

我想去掉那个大的坐标轴怎么弄??好象是加什么'visible','off'吧应该在哪加呢??谢谢指点了

eight 发表于 2006-12-28 11:10

原帖由 liky83672815 于 2006-12-28 10:54 发表
谢谢eight大人启发下面是我写的简单程序
h=figure(...
    'name','one',...
    'numbertitle','off',...
    'menubar','none',...
    'toolbar','none');
x=0:0.1:2*pi;
hpop=uicontrol(h,...
   ...


你把程序通过附件传上来吧,你的代码我无法copy

liky83672815 发表于 2006-12-28 13:30

我用的是M文件方式的,上面的程序复制在FILE-NEW-Mfile直接运行就可以。不过怎么上传附件啊??我不会真的不好意思啊。

eight 发表于 2006-12-28 14:33

原帖由 liky83672815 于 2006-12-28 13:30 发表
我用的是M文件方式的,上面的程序复制在FILE-NEW-Mfile直接运行就可以。不过怎么上传附件啊??我不会真的不好意思啊。


问题是我copy你的帖子内容后发现乱码。。。。

发表文章的时候就见到编辑窗口下面有“上传附件”拉,有个Browse... 按钮

liky83672815 发表于 2006-12-28 15:08

呵呵不好意思我才知道怎么上传文件了,eight大人麻烦你看看了呵呵很短的程序希望不会耽误你太多时间的谢谢了

eight 发表于 2006-12-28 15:55

原帖由 liky83672815 于 2006-12-28 15:08 发表
呵呵不好意思我才知道怎么上传文件了,eight大人麻烦你看看了呵呵很短的程序希望不会耽误你太多时间的谢谢了

不知道是否你要的效果:

h=figure(...
    'name','one',...
    'numbertitle','off',...
    'menubar','none',...
    'toolbar','none');
x=0:0.1:2*pi;
hpop=uicontrol(h,...
    'style','popup',...
    'unit','normalized',...
    'position',,...
    'string','无|sin(x)|cos(x)|tan(x)',...
    'callback',[...
    'if ishandle(hAxes),delete(hAxes),end,',...
    'hAxes = axes(''Parent'',h,''Position'',);',...
    'switch get(hpop,''value''),',...
    'case 1,',...
    'case 2,',...
    'h2=plot(x,sin(x),''Parent'',hAxes),',...
    'case 3,',...
    'h3=plot(x,cos(x),''Parent'',hAxes),',...
    'case 4,',...
    'h4=plot(x,tan(x),''Parent'',hAxes),',...
    'end']);

liky83672815 发表于 2006-12-29 09:37

昨天下午停电今天上午才能看到,谢谢了,不过程序有点问题,把'if ishandle(hAxes),delete(hAxes),end,',...这行去掉就没问题了,效果得到了谢谢啦

eight 发表于 2006-12-29 10:08

原帖由 liky83672815 于 2006-12-29 09:37 发表
昨天下午停电今天上午才能看到,谢谢了,不过程序有点问题,把'if ishandle(hAxes),delete(hAxes),end,',...这行去掉就没问题了,效果得到了谢谢啦


我的matlab是6.5,没有问题,如果去掉那句,那么坐标轴的坐标尺度文字会出错的(你试试先运行sin,后运行tan就知道了)
页: [1] 2
查看完整版本: 关于axis