matlab中figure⼤⼩设置
⾸先要了解的是Matlab是⾯向对象的。最⾼等级的对象是screen,它定义了figure可以⽤的最⼤szie。
screen下⾯是figure。figue就是你画图的时候跳出来的那个新的对话窗⼝。如果figure变化,screen是不会跟着变化的。但screen变化的话,figure就要跟着变化了。
html注释内容figure下⾯是axes。axes是那个窗⼝⾥⾯你要画的东西。axes的⼤⼩和位置取决于figure,如果你放⼤缩⼩figure的⼤⼩的话,⾥⾯的图线也会跟着变化的。
⼀:
set(gca,‘position’,[])
因此,set (gca,‘position’,[0.1,0.1,0.9,0.9] );的作⽤是:
设置坐标轴距离画板(图形窗⼝figure)边距。
critical realism名词解释[0.1,0.1,0.9,0.9] 分别为axes在figure中的左边界,下边界,宽度,⾼度,最⼩为0,最⼤为1(左边界,下边界为0,上边界,右边界为1)
见下⾯的例⼦:
figure
set (gca,‘position’,[0.1,0.1,0.9,0.9] );position和location的区别
x=1:0.1:10;
y=sin(x);
plot(x,y)
⼆:
set(gcf,‘position’,[])
⼀般matlab绘出来图的框架(图形窗⼝)⼤都是正⽅形或者近似正⽅形的矩形,能不能画⼀些扁的矩形呢?
使⽤图形的position属性可以做到。
如set(gcf,‘unit’,‘normalized’,‘position’,[0.2,0.2,0.64,0.32]);的意思是:
对gcf的position进⾏设置。使其在屏幕上的显⽰位置是以(0.2,0.2)为原点,长0.64,宽0.32。同gca⼀样,仍然是左边界,下边界为0,
上边界,右边界为1。
另外,gcf的position也可以不是normalized的。如下⾯的例⼦:
x=-2pi:0.1:29i;y=sin(x);figure;set (gcf,‘Position’,[500,500,500,500], ‘color’,‘w’) %⼤⼩设置
plot(x,y,‘k-’) %节点位移图形输出xlim([min(s(:,2)) max(s(:,2))])grid on
其中,
[500,500,500,500]的意思为:原点的位置x,原点的位置y,宽,⾼,其坐标为points(详见下⾯),
现在问题还存在:
如果仅设置position的话,打印的时候还是正⽅形。可以⽤下⾯的⽅法解决:
通常默认情况下,print命令输出图像为 8*5inches,⽆视屏幕显⽰尺⼨
通过命令⾏修改的话有三步
1 设置paperposition为manual
set(gcf,‘PaperPositionMode’, ‘manual’)
[ auto | {manual} ]
2 设置paperunit
set(gcf,‘PaperUnits’,‘inches’)
[ {inches} | centimeters | normalized | points ]
3 设置paperposition
set(gcf,‘PaperPosition’,[left,bottom,width,height])
例如
set(gcf, ‘PaperPositionMode’, ‘manual’);
set(gcf, ‘PaperUnits’, ‘points’);
set(gcf, ‘PaperPosition’, [0 0 640 480]);
还有⼀个相关命令是papersize
paperposition 是placement,代表图像在paper(感觉就是屏幕screen的意思?)中的所处位置。left和bottom计算好,就可以使图像在paper中居中
papersize是纸张⼤⼩;position要⽐size⼩的
PaperPosition
four-element rect vector
Location on printed page. A rectangle that determines the location of the figure on the printed page. Specify this rectangle with a vector of the form
小程序怎么开发网站rect = [left, bottom, width, height]
where left specifies the distance from the left side of the paper to the left side of the rectangle and bottom specifies the distance from the bottom of the page to the bottom of the rectangle. Together th
ese distances define the lower-left corner of the rectangle. width and height define the dimensions of the rectangle. The PaperUnits property specifies the units used to define this rectangle.
要使图像⽐例输出与屏幕显⽰的⼀致,可以使⽤如下命令
屏幕显⽰图像尺⼨可以plot时⽤ set(gcf,‘position’,[left bottom width height]) 调整,或者print之前拖动窗⼝⼿动调整
This example exports a figure at screen size to a 24-bit TIFF file, myfigure.tif.
% set(gcf,‘position’,[80 100 800 600]) % 如果⼿动拖放,则不需要这⼀⾏命令
set(gcf, ‘PaperPositionMode’, ‘auto’) % Use screen size
print -dtiff myfigure
⽤matlab画了⼀张图,投稿时要缩⼩,缩⼩后字体就会过⼩或者发虚。我摸索出⽐较好的⽅法是如下的代码:%%%%%%%%%%%%%%%%%%%%%%plot your figure before%%%%%%%%%%%%%%%%%%%%%% figure resize
set(gcf,‘Position’,[100 100 260 220]);
vs2010专业版序列号
set(gca,‘Position’,[.13 .17 .80 .74]);
figure_FontSize=8;
set(get(gca,‘XLabel’),‘FontSize’,figure_FontSize,‘Vertical’,‘top’);
linux命令缩写全称
set(get(gca,‘YLabel’),‘FontSize’,figure_FontSize,‘Vertical’,‘middle’);
set(findobj(‘FontSize’,10),‘FontSize’,figure_FontSize);
set(findobj(get(gca,‘Children’),‘LineWidth’,0.5),‘LineWidth’,2);%%%%%%%%%%%%%%%%%%%%%%%%%%%%解释:set(gcf,‘Position’,[100 100 260 220]);
这句是设置绘图的⼤⼩,不需要到word⾥再调整⼤⼩。我给的参数,图的⼤⼩是7cmset(gca,‘Position’,[.13 .17 .80 .74]);
这句是设置xy轴在图⽚中占的⽐例,可能需要⾃⼰微调。figure_FontSize=8;
set(get(gca,‘XLabel’),‘FontSize’,figure_FontSize,‘Vertical’,‘top’);
set(get(gca,‘YLabel’),‘FontSize’,figure_FontSize,‘Vertical’,‘middle’);
set(findobj(‘FontSize’,10),‘FontSize’,figure_FontSize);这4句是将字体⼤⼩改为8号字,在⼩图⾥很清晰
set(findobj(get(gca,‘Children’),‘LineWidth’,0.5),‘LineWidth’,2);
这句是将线宽改为2

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。