在學(xué)術(shù)論文中的圖件(Scientific figures),優(yōu)秀的圖有四個特點(diǎn):簡單(Simple)认烁、清晰(Clean)肿男、易讀(undisputedly easy to read)、美觀却嗡。而Matplotlib可以做絕大多數(shù)的圖舶沛,使用非常廣泛,而且非常容易上手窗价,可以保存高質(zhì)量的矢量圖(eps,pdf,ps)如庭。在使用之前當(dāng)然得關(guān)心它的字體庫了。
Helvetica字體
繪圖中常用的字體撼港,而且挺美觀坪它。大家熟知的gmt的默認(rèn)字體就是Helvetica骤竹。可是Matplotlib并沒有自帶這個字體庫往毡。其實(shí)Helvetica和Arial字體之間差別很小蒙揣。
查看Matplotlib自帶字體庫
通過以下font_manager
可以查看Matplotlib自帶的字體庫
import matplotlib.font_manager
matplotlib.font_manager.findSystemFonts(fontpaths=None, fontext='ttf')
安裝Helvetica字體庫
在Mac系統(tǒng)中,Helvetica字體保存在.dfont
文件中卖擅,但是Matplotlib訪問不了這個文件鸣奔。我們需要通過以下步驟來實(shí)現(xiàn)其訪問權(quán)限
找到Helvetica字體的系統(tǒng)中的位置
直接使用命令查看:ls /System/Library/Fonts/Helvetica*
或者用Mac的字體查看器查看,然后在finder中顯示
將Mac-Helvetica字體轉(zhuǎn)換為ttf-Helvetica
網(wǎng)上有人推薦用fondu
程序?qū)崿F(xiàn)這兩個字體之間的轉(zhuǎn)換惩阶,安裝:brew install fondu
.
但是如果沒有找到.dfont
文件挎狸,只有.ttc
或者轉(zhuǎn)換失敗,可以使用在線轉(zhuǎn)換程序進(jìn)行轉(zhuǎn)換断楷。
fondu提示錯誤: Can't find an appropriate resource fork in Helvetica.ttc
加入字體搜索路徑
- 將轉(zhuǎn)換成功的
.ttf
字體文件拷貝到~/Library/Fonts
路徑下 - 刪除matplotlib字體緩存文件:
rm ~/.matplotlib/fontList.json
- 設(shè)置默認(rèn)字體:
matplotlib.rcParams["font.family"] = 'Helvetica'
顯示效果
不仔細(xì)看根本看不出來這兩者的區(qū)別??