目标
本文所要讲述是方法是通过代码来实现对Figure尺寸的精确控制,使得不需要再手动调节Figure尺寸大小,保证直接在Figure窗口菜单中通过Copy Figure复制到Word中的图片尺寸为代码设定的尺寸,注意,代码控制设定的尺寸为复制到Word中后的原始尺寸,并非缩放后的尺寸。
方法
第1步:绘图前,在Matlab图像窗口中,选择Edit——Copy Options——Preferences ——match screen size(所见即所得),即最后一项勾选。这是要告诉MATLAB,Copy Figure的原始尺寸就是在Figure窗口中看到的尺寸。
第2步:通过plot绘图,并设置好线型、字体、XLABLE等参数。
第3步:在绘图代码的后面,添加如下代d码:
set (gcf,'windowstyle','normal') %确保当前Figure没有docked,一般情况可不用该行代码
set(gcf,'unit','centimeters','position',[10 5 12 8])
第二行代码作用:对图形的位置及大小进行设置,单位为厘米,大小为(12cm宽)×(8cm高),图形起点坐标为(10cm,5cm)表示左下点离显示器左侧边界10cm,离下侧边界5cm。方括号内的参数可根据自己需要进行调整。
第4步:点击Edit——Copy Figure,粘贴到word。
样例检验:在Word中选中刚粘贴的图片,右键——设置图片格式——大小可得如下界面:
从上图可以看到,图中红色标注区域为复制到Word中图片的原始尺寸,跟我们用代码控制的尺寸几乎一样,有一点微小的差别。但Word中实际显示的尺寸是缩放后的尺寸,宽和高同时缩放了88%。如果我们有很多图片需要放在同一篇文章中,那么需要把这些图片设置成相同的缩放比(在Word中完成)以及相同的原始尺寸(在MATLAB中用代码控制或手动控制)。
附:关于windowstyle的说明
一般情况下,绘制完图形后,windowstyle处于undocked状态,将鼠标移至右上角的向下箭头,会显示“Dock Figure 1"字样,如下图所示:
点击该箭头,则Figure图形嵌入到MATLAB操作界面中,如图所示
此时,若要用set(gcf,'unit','centimeters','position',[10 5 12 8])对图片尺寸进行设定,不会达到期望得效果,MATLAB也会显示警告信息。
如果在嵌入到MATLAB窗口中的Figure 1右上角点击向上的箭头,则可使windowstyle回到undocked状态,或者直接使用代码:set (gcf,'windowstyle','normal') 恢复为undocked状态。