加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

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

(2014-10-10 11:30:40)
标签:

matlab

图形大小

位置

分类: MATLAB及信号分析

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

程序自动保存!

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有