声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 4671|回复: 16

[GUI界面] 关于axis

[复制链接]
发表于 2006-12-26 11:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

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

使用道具 举报

发表于 2006-12-26 14:43 | 显示全部楼层
属性position 有x,y,wide,height,大小位置都可以调了
 楼主| 发表于 2006-12-26 18:30 | 显示全部楼层
position属性我也设过了没什么变化啊,看来是不好使,不知道你怎么设的??程序能不能放出来??
发表于 2006-12-26 19:30 | 显示全部楼层
原帖由 liky83672815 于 2006-12-26 18:30 发表
position属性我也设过了没什么变化啊,看来是不好使,不知道你怎么设的??程序能不能放出来??



try: axis equal or tight or...
发表于 2006-12-27 21:45 | 显示全部楼层
整体坐标轴的大小,没必要修改啊,如果嫌图形过小,不能清楚的显示细节部分,可以直接用放大镜放大,然后保存图形即可。不要太迷信代码的功能,关键在解决实际问题。
 楼主| 发表于 2006-12-28 09:32 | 显示全部楼层
不是啊,我是说,在一个figure窗口建一个axis的话它就要占很大部分,其他的空间就很小了我还想加些按钮什么的,所以我想调整axis的大小和位置,这样我便于其他的控件排版,我这么说明白了吗??或者换句话说,有没有其他方法也可以建立坐标轴并且可以调整大小位置,我总觉得axis没法设置这些。
发表于 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',[0.5 0.5 10 10]);

m文件方式只需要把handles.axes1替换为你的axis句柄就可以了
 楼主| 发表于 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',[0.035,0.87,0.12,0.12],...
    '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',[0.3,0.3,0.5,0.5]);

我想去掉那个大的坐标轴怎么弄??好象是加什么'visible','off'吧应该在哪加呢??谢谢指点了
发表于 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
 楼主| 发表于 2006-12-28 13:30 | 显示全部楼层
我用的是M文件方式的,上面的程序复制在FILE-NEW-Mfile直接运行就可以。不过怎么上传附件啊??我不会真的不好意思啊。
发表于 2006-12-28 14:33 | 显示全部楼层
原帖由 liky83672815 于 2006-12-28 13:30 发表
我用的是M文件方式的,上面的程序复制在FILE-NEW-Mfile直接运行就可以。不过怎么上传附件啊??我不会真的不好意思啊。



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

发表文章的时候就见到编辑窗口下面有“上传附件”拉,有个Browse... 按钮
 楼主| 发表于 2006-12-28 15:08 | 显示全部楼层
呵呵不好意思我才知道怎么上传文件了,eight大人麻烦你看看了呵呵很短的程序希望不会耽误你太多时间的谢谢了

one.m

587 Bytes, 下载次数: 15

下拉菜单

发表于 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',[0.035,0.87,0.12,0.12],...
    'string','无|sin(x)|cos(x)|tan(x)',...
    'callback',[...
    'if ishandle(hAxes),delete(hAxes),end,',...
    'hAxes = axes(''Parent'',h,''Position'',[0.1,0.1,0.5,0.5]);',...
    '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']);
 楼主| 发表于 2006-12-29 09:37 | 显示全部楼层
昨天下午停电今天上午才能看到,谢谢了,不过程序有点问题,把'if ishandle(hAxes),delete(hAxes),end,',...这行去掉就没问题了,效果得到了谢谢啦
发表于 2006-12-29 10:08 | 显示全部楼层
原帖由 liky83672815 于 2006-12-29 09:37 发表
昨天下午停电今天上午才能看到,谢谢了,不过程序有点问题,把'if ishandle(hAxes),delete(hAxes),end,',...这行去掉就没问题了,效果得到了谢谢啦



我的matlab是6.5,没有问题,如果去掉那句,那么坐标轴的坐标尺度文字会出错的(你试试先运行sin,后运行tan就知道了)
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-22 03:55 , Processed in 0.058070 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表