用R做
以往一直使用 Rstudio 的出圖功能,把繪製好的圖片設定長寬大小後,以 png 格式輸出,如果圖片的線條有弧線,就會在放大後看到邊緣不平滑,這是這類點陣圖(bitmap,或稱柵格圖 raster)的缺點。要解決這個問題,可以嘗試設定解析度,或者改用不同的格式試試:
如果圖是用 ggplot 套件畫的,那也可以用套件裡的 ggsave()
函數,輸出一般會比 R base 再美一些,而且一樣的輸出設定,檔案也會更大一些(不知道為什麼):
如果強烈希望圖片不失真,可以使用向輛格式出圖,這樣無論如何伸縮,圖片的線條都可以永保銳利了。以常用的向量圖片格式 svg(scalable vector graphics)而言,可以在 Rstudio 當中出圖,但是遇到中文字,就會變成豆腐無法正常顯示,應該是算繪引擎(option 裡的 graphic divice 那項)沒辦法辨識與使用中文字型(或者所有的 unicodes)。
最後查到一個套件 showtext
,可以讀入需要的字型檔,再配合 svg()
函數來出圖。只要輸入存於系統的字型檔(Windows 的路徑在 C:\Windows\Fonts)就可以調用字型,不過測試的時候發現還是要把字型檔複製到工作資料夾才能載入。以之前畫的溫度雨量圖中的年均溫變化為例,在繪圖函數上下加入有關圖片輸出的指令與 showtext 套件的函數,即可順利自訂字型,而且輸出銳利的向量檔。
不過最後輸出的 svg 檔無法上傳到 hackmd,就只能在電腦上以網頁瀏覽器打開,然後截圖放上來了。
svg 檔可以使用瀏覽器打開。
🐕🦺 2022.10.01