MATLAB 圖檔製作輸出小細節

為了狂慶小編的研究所生涯畫上了一個 period

小編與大家分享一下,陪伴了我渡過數個月的論(ㄍㄨㄟˇ)文(ㄏㄨㄚˋ)撰寫過程

透過MATLAB作圖的小小小心得

小小心得卻可以大大節省後續圖片編修時間 (詳見: MATLAB製作向量圖)

真的是魔鬼的小細節,不得不注意呀~



MATLAB的 figure properties 非常的豐富,

這裡面大概藏了這輩子研究生涯都用不完的 properties

再加上MATLAB目前越走越偏 (咦?)

底層的核心已經走向 java-based object oriented programming的模式來撰寫

小編關注的MATLAB大神 (網頁) 常常release一些神奇的 java programming trick

小編常說:只要有心,你可以透過MATLAB製作出任何你看過的軟體

舉凡Photoshop、威力導演、伺服器等等都可以自行用MATLAB撰寫

(不過這樣太有心了,生命不是這樣浪費的 😆)

小編今天要介紹的是其中的冰山一角 (可能連一角都不到....😴)

當作是拋磚引玉,為各位讀者帶入門。



-------- 魔鬼細節分隔線 --------


小編作圖的原則是: 「所見即所示」

"所見"代表的是你在螢幕上看到的圖片

"所示"代表的是你呈現在 PowerPoint or Word上的效果

大家可能有個疑問,我把圖片存起來然後再放進 Office 裡面

不就可以所見即所示嗎???

好啊~ 問得好~ 

接下來小編再細部地解釋什麼叫"所示"




第一:圖片與頁面相對大小

圖片的常用單位是pixel,(如720p, 1080p, 4k...blah blah blah)

當你直接把一張圖片貼上word or powerpoint,

office會根據圖片(1) 解析度dpi以及 (2)像素 ( m*n pixel),

轉換成相對該文件頁面的大小

也就是說如果你的圖片寬度像素是1000 pixel而圖片解析度是100 dpi的話

你的圖片真實的寬度會是10 inch = 25.4 cm

假如你的頁面預設是A4大小 (21 x 29.7 cm)

那麼你這張圖片寬度就會大於A4頁面寬度

這對文書編排有什麼壞處?

1. 無法直覺地掌握圖片與文件的相對大小

2. 放進office後,還要再調整一次圖片大小


以上是僅儲存成jpg, png等相關圖片格式會遇到的問題

如果是存成emf再透過powerpoint產生向量圖時,會有其他問題

1. 圖片轉成向量圖後,比例會有問題

2. 族繁不及備載.... (其實是小編懶得列了...)

各位讀者試試看就知道了 XDD



第二:圖片內容的相對大小

為什麼會有這個問題? 主要還是上述的原因造成

當你開開心心的在MATLAB畫完一張精美的圖

各種title, legend, xlabel, ylabel, text的位置、字體大小、描述都能完美地解釋著該圖片

But ! 研究生涯永遠都不缺這個 But...

當你放進office後發現圖片太大將圖片比例一縮~

WTF, 文字什麼的都看不清楚啦~~

只好重新在Powerpoint一個一個修改文字大小相對位置等

或是重新在MATLAB作圖 再改文字大小相對位置等

哀呀~ 研究生的時間不該這樣被浪費掉阿

這些時間應該好好的跟家人聚聚 跟朋友吃吃喝喝 或是跟自己對話放空休息一下的呀~

以上都是小編走過的冤枉路~

(當然如果對圖片品質沒這麼要求的讀者 應該就沒有這樣的困擾...)




好~ 說了這麼多,又到了吃大補藥的時間啦~

人說看paper可以直接翻到最後一頁看conclusion

看小編的網誌也可以直接end看程式碼

  • set(gcf,'PaperPositionMode','auto')
  • set(gcf,'InvertHardcopy','off')
  • set(gcf,'units','centimeters','position',[a b w h])

% [a b w h]
% a b 為figure相對螢幕左下角的距離(單位是公分)
% w h 為你想要的figure大小(即圖片大小)

請服用以上三帖程式碼 (要包成一行也是可以啦~ )

然後最後請各位讀者還是要把圖檔另存成emf檔再匯入office程式內編輯唷!
(詳見: MATLAB製作向量圖)

------------
又到了精美的Q&A時間
Q1: 我看不太懂所見即所示在表達什麼耶?!
A1: 老實說,我自己也不知道在講什麼 (咦?)
       很簡單...隨便畫張圖
       不要設定這些properties存一張emf檔
       設定這些properties存一張emf檔
       再分別丟進去office裡面就知道我說什麼了!! 人說身體力行最能學到東西了~是吧? (笑)

Q2: 哥就是喜歡在office裡面慢慢調整各個物件的位置與描述,還要這樣設這些相關參數嗎?
A2: 老實說,我也喜歡在office裡面調整,還可以各種美化呀什麼的
        But... (這篇But很搶戲)
       當一個苦命的研究生,一本論文裡面可能要輸出好幾十張圖表的時候
       這樣的閒情逸致基本上是個奢侈的行為
       還是在MATLAB先定版,臨時哪個圖要改(ㄔㄨㄥˋ)資料才能快又有效




留言

這個網誌中的熱門文章

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

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