MATLAB 圖檔轉換 OFFICE 向量物件

小編常利用MATLAB繪製許多圖

而這些圖常常需要放在OFFICE WORD, POWERPOINT裡面

將結果呈現給讀(ㄌㄠˇ)者(ㄅㄢˇ)看

有時候讀者會看得特別的詳細

不小心ZOOM到500%UP一看 發現線阿~色塊阿~ 都糊成一片

哀呀~ 讀者不開心啦~ 小編日子也就不會好過到哪去

所以阿,輸出的圖檔一定要解析度夠高或者是直接產生向量圖檔

這樣才能滿足讀者或確保日後印刷品質

那麼...如何將MATLAB輸出之圖檔轉換為OFFICE向量圖檔(物件)呢?



首先,先從MATLAB圖檔輸出說起

MATLAB預設輸出的圖片解析度應該會跟電腦螢幕一樣 (通常為 72 or 96 dpi)

這圖片解析度拿來跟現在常用來說嘴的Retina 300dpi一比  都顯得格外不好意思

沒辦法...解析度高就是任性...

好吧~ 單就圖片的輸出解析度來說    是有救的 !!

信MATLAB得永生~ 來~快服下這一帖良藥

print(gcf,'-r300','-dpng','filename.png')

其他相關參數設定請自行help print

想要存JPEG 就用'-djpeg' (副檔名一併更改)

這'-r300' 也可以很霸氣地設定成'-r1200' 或更高  (數字代表解析度)

如果這樣會讓你感到尊爵不凡的話... 但這也相對使圖檔大小變得很大很大

然而,就算是設定成高解析度

也經不起讀者更強力的滾輪ZOOM IN攻勢阿~~



所以!! 為了讓MATLAB發揮最強大的圖形輸出功能

我習慣性會將一張圖存成三種格式
(1) *.fig : 保留原始格式,可再用程式或figure editor修改細節
(2) *.emf: 為了轉出至OFFICE向量圖檔所用 (本篇重點)
(3) *.png: 為了快速用系統圖片瀏覽器瀏覽所有圖片所用 (optional)

其中emf檔為 enhanced metafile的縮寫

EMF圖片檔案格式是WINDOWS於1990年代開發的技術

其檔案包含了點陣圖(bitmap)與向量圖片(vector graphics)元素

某種程度上有點類似SVG檔

總之呢  給他存下去就對了~~~  接著跟著以下步驟一步一步走下去囉~



1. 將MATLAB產生之figure檔案(*.fig)另存為EMF圖檔(*.emf)







2. 開啟一空白Powerpoint檔案,並插入EMF圖檔



3. 點選繪圖工具格式,找到群組圖示後下拉選擇取消群組



4. 當系統詢問是否轉換至Microsoft 繪圖物件時,請點選是



5.重複全選(快速鍵:Ctrl+A)並取消群組,直到取消群組的選項已被鎖住無法點選後,直接點選群組




6. 進入”大小”選單內,勾選鎖定長寬比,並關閉



上述步驟完成後即可直接從Powerpoint複製貼入至Word檔

該繪圖物件即為向量物件

也可以進一步直接於Word內編輯文字或調整位置

放大檢視時亦不受解析度所限制~ 

又可以再一次躲過讀者狠毒的攻擊啦~ 挖哈哈哈~



[後記]
Q: MATLAB中常用的 imwrite, saveas, print有什麼不一樣?
應該先說這三個function相同的地方是什麼
都是把MATLAB figure底下所有axes內的所有物件繪製成一張"圖像" (image)
其中呢saveas其實就是print的簡化版
imwrite也大致上跟saveas差不多
所以如果想要變更更底層的圖像輸出特性
建議還是使用print囉~~


Q: 除了存成emf檔案,還有其他可行的方法嗎?
有其他方法!! 一樣用print~
print(gcf,'-deps','filename.eps')
只要你的電腦有Photoshop, illustrator這樣可以開eps檔案的軟體
其實也可以存成eps檔,還可以順便美工一番~ 呵呵
只是要讓powerpoint讀取eps的話,小編尚未測試成功過呢!!


Q: emf檔案只能用powerpoint開啟嗎?
emf就是圖檔,可以用小畫家、Photoshop這類的軟體開啟並編輯
只是...科學家嘛~
以我的經驗,使用powerpoint製作學術圖表是非常方便且有效率的方式!!
提供參考囉~


留言

這個網誌中的熱門文章

Chrome 小技巧:將網頁釘選至系統工作列

MATLAB 圖檔製作輸出小細節

Adele - All I Ask 唱進心坎裡的迴響