新浪博客

(转)matlab 图形窗口大小的设置以及子图相对位置的设定

2014-10-10 11:30阅读:

matlab 图形窗口大小的设置以及子图相对位置的设定

2012-10-08 20:45:20| 分类: 专业相关|举报|字号 订阅
在利用matlab绘制图形时,如果需要产生多个子图,这就涉及到子图相对位置的设定已经整个图形窗口的大小
关于figure的三个不同命令
>> fid=figure(11);
>> get(fid,'outerposition') % 图形窗口(Figure position including title bar, menu bar, tool bars, and outer edges)相对于屏幕的位置
ans =
16 68 593 932 % 593和932分别代表整个图形窗口的宽度(横向)和高度(竖向)
>> get(fid,'position') % 与outerposition的区别在于 不包含标题栏、菜单栏、工具栏等外围的东西
ans =
20
72 585 850
figure的position中的[left bottom width height] 是指figure的可画图的部分的左下角的坐标以及宽度和高度。
>> get(fid,'paperposition') % 定义落实在纸张上的实际可视图形与边缘的距离和整个图形的大小
ans =
0.6345 6.3452 20.3046 15.2284
需要获取调整后的图形,有两种不同的方法,真正有用的是position 和paperposition
利用position参数得到的图形在生成的figure窗口中可以得到最满意的图形,但是,如果想在word文档中得到你所看到的结果,就只能通过窗口上的File-save as手动保存,因为利用saveas得到的图形是无法保存你所看到的样式的。 这虽然麻烦,但是得到的图形分辨率相对较高
与position 相比,paperposition可以直接通过saveas命令保存满意的图像,但是这种图像在直接生成的figure窗口中并不是那么令人满意的,但是这并不妨碍最终的美好结果。
在利用paperposition 设置图形中的字体大小时,通过fid=figure(11); axes('fontsize',16)得到的效果很弱,或者说没有效果,如果希望子图的字体足够清楚,可以通过subplot 来实现
fid=figure;
set(fid,'paperposition',[3.0,3.5,15,30]);
h1=subplot(3,1,1);
po=get(h1,'position');
subplot(3,1,1,'replace');
subplot('position',[po(1),po(2)-0.02,po(3),po(4)],'fontsize',16); % 调整子图之间上下的距离
注意:两者的尺度因子是不一样的!!
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
调整子图之间的相对位置和大小,所用的也是position 参数,不过是用在subplot 指令上
Example 1
fid1=figure(11);
set(fid1,'position',[20 72 585 850]);
h1=subplot(4,2,1);
po=get(h1,'position');
subplot(4,2,1,'replace');
subplot('position',[po(1),po(2)-0.01,po(3),po(4)],'fontsize',16);
r1=mean(rt(k1,:));
plot(yr,r1,'linewidth',1.5);
xlim([1961 2009]);
需要手动保存!
Example 2
fid2=figure(22);
%set(fid2,'position',[20 72 585 850]);
set(fid2,'paperposition',[0.5,5.5,25,40])
h1=subplot(4,2,1);
po=get(h1,'position');
subplot(4,2,1,'replace');
subplot('position',[po(1),po(2)-0.01,po(3),po(4)],'fontsize',16);
r1=mean(rt(k1,:));
plot(yr,r1,'linewidth',1.5);
xlim([1961 2009]);
程序自动保存!

我的更多文章

下载客户端阅读体验更佳

APP专享