码迷,mamicode.com
首页 > 其他好文 > 详细

改变figure大小存储图片(matlab)

时间:2015-09-07 08:21:01      阅读:506      评论:0      收藏:0      [点我收藏+]

标签:

figure图片存储的时候,使用saveas命令,如果不做设定,只能存储默认大小,但是有的时候需要存储特定比例拉伸的图片。

         matlab里面figure相关对象的关系是: screenfigureaxis,所以在设置图片大小的时候,先设定figure相对于screen的位置和大小,然后设定axes相对于figure的位置和大小。

         图画出来之后,如下命令就可以储存特定大小的图片。下面给出两种方法。

法一  截图

%=========================================================

set(gcf,‘position‘,[100,100, 500, 300]);         %设定figure的位置和大小    get current figure

set(gcf,‘color‘,‘white‘);                           %设定figure的背景颜色

A=getframe(gcf);                                     

imwrite(A.cdata,‘try.png‘)                          %存储调整过大小的图片

%==================================================

 

    还可以根据需求调整坐标轴的位置和大小,比如不想要白边一类

%====================================================

set(gca,‘DataAspectRatio‘,[3,4,1]);                  %调整坐标轴比率     get current axes

set(gca,‘position‘,[0,0,1,1]);                        %调整坐标轴位置

%======================================================

 

最后说明一下,saveas存储的大小是默认大小,imwrite相当于截屏;存图片的时候要养成好习惯,顺便存一个figure,以方便以后修改。

 saveas(gcf,‘tt.fig‘);  


法二 设定保持长宽比存图

如果要发表paper,上面这种做法就不可取了,因为存下的图片是截图;不少杂志(比如PR系列),直接说了,Not Screen!(截图丢失信息,不方便出版方的再次排版一类)。

图片画出来以后,执行以下命令,就可以保持长宽比率保存图片(但是图片的绝对大小会变化)。

set(gcf,‘color‘,‘white‘,‘paperpositionmode‘,‘auto‘);

saveas(gcf,‘exprimentLightBundles.eps‘,‘psc2‘);

改变figure大小存储图片(matlab)

标签:

原文地址:http://my.oschina.net/u/133558/blog/501964

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!