目標
本文所要講述是方法是通過代碼來實現(xiàn)對Figure尺寸的精確控制,使得不需要再手動調(diào)節(jié)Figure尺寸大小,保證直接在Figure窗口菜單中通過Copy Figure復(fù)制到Word中的圖片尺寸為代碼設(shè)定的尺寸,注意,代碼控制設(shè)定的尺寸為復(fù)制到Word中后的原始尺寸,并非縮放后的尺寸。
方法
第1步:繪圖前,在Matlab圖像窗口中,選擇Edit——Copy Options——Preferences ——match screen size(所見即所得),即最后一項勾選。這是要告訴MATLAB,Copy Figure的原始尺寸就是在Figure窗口中看到的尺寸。
第2步:通過plot繪圖,并設(shè)置好線型、字體、XLABLE等參數(shù)。
第3步:在繪圖代碼的后面,添加如下代d碼:
set (gcf,'windowstyle','normal') ? ? ? ? ? %確保當前Figure沒有docked,一般情況可不用該行代碼
set(gcf,'unit','centimeters','position',[10 5 12 8])
第二行代碼作用:對圖形的位置及大小進行設(shè)置,單位為厘米,大小為(12cm寬)×(8cm高),圖形起點坐標為(10cm,5cm)表示左下點離顯示器左側(cè)邊界10cm,離下側(cè)邊界5cm。方括號內(nèi)的參數(shù)可根據(jù)自己需要進行調(diào)整。
第4步:點擊Edit——Copy Figure,粘貼到word。
樣例檢驗:在Word中選中剛粘貼的圖片,右鍵——設(shè)置圖片格式——大小可得如下界面:

從上圖可以看到,圖中紅色標注區(qū)域為復(fù)制到Word中圖片的原始尺寸,跟我們用代碼控制的尺寸幾乎一樣,有一點微小的差別。但Word中實際顯示的尺寸是縮放后的尺寸,寬和高同時縮放了88%。如果我們有很多圖片需要放在同一篇文章中,那么需要把這些圖片設(shè)置成相同的縮放比(在Word中完成)以及相同的原始尺寸(在MATLAB中用代碼控制或手動控制)。
附:關(guān)于windowstyle的說明
一般情況下,繪制完圖形后,windowstyle處于undocked狀態(tài),將鼠標移至右上角的向下箭頭,會顯示“Dock Figure 1"字樣,如下圖所示:

點擊該箭頭,則Figure圖形嵌入到MATLAB操作界面中,如圖所示

此時,若要用set(gcf,'unit','centimeters','position',[10 5 12 8])對圖片尺寸進行設(shè)定,不會達到期望得效果,MATLAB也會顯示警告信息。

如果在嵌入到MATLAB窗口中的Figure 1右上角點擊向上的箭頭,則可使windowstyle回到undocked狀態(tài),或者直接使用代碼:set (gcf,'windowstyle','normal') 恢復(fù)為undocked狀態(tài)。
