您好,登錄后才能下訂單哦!
本篇內容介紹了“matplotlib字體設置方法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
matplotlib
作為數據可視化的利器,被廣泛用于數據分析之中,但不太友好的是matplotlib
中書寫非英文文字內容時,如果不事先對字體進行相關設置,會發現繪制出的諸如「中文」等均顯示為「方塊亂碼」,而今天的內容,我們就來小小總結一下matplotlib
中字體設置的常用技巧。
在matplotlib
中設置字體的方法按作用范圍可分為全局設置與臨時設置:
我們在默認狀態下使用matplotlib
書寫中文內容時之所以顯示出亂碼,是因為matplotlib
默認的字體為英文字體,導致許多unicode
編碼的語言文字都無法書寫。
而全局設置字體的方式,指的是我們可以通過修改本地配置文件或在程序開頭設置字體相關參數,從而人為地為當前kernel下的matplotlib
規定使用指定的字體,主要有以下幾種情況:
所謂「系統自帶字體」,譬如對于windows
,其系統盤Windows/Fonts
下的諸多已安裝到系統中的字體:
當然,matplotlib
可以檢測到的字體不止上述的這些,我們可以通過下列方式查看matplotlib
中默認已經識別到的所有可用字體:
import matplotlib.pyplot as plt
from matplotlib import font_manager
for font in font_manager.fontManager.ttflist:
# 查看字體名以及對應的字體文件名
print(font.name, '-', font.fname)
其中在font_manager.fontManager.ttflist
中迭代到的每個對象,其name
屬性即為我們下面設置字體要使用到的名稱,以「華文琥珀」為例,我們先查看到其對應的字體文件名稱:
接著我們寫兩行程序來找到其對應的名稱:
接著按照plt.rcParams['font.sans-serif'] = 字體名稱
的格式設置即可:
可以看到這時我們全局所有文字都變成「華文琥珀」。
如果你想要的字體不在系統默認字體中,且你只想臨時使用不想安裝到系統字體中,則可以利用font_manager.fontManager.addfont()
來傳入字體文件路徑臨時注冊一個字體,以我下載的三方字體文件MaShanZheng-Regular.ttf
為例:
而如果你只是想要在數據可視化作品中的部分元素譬如文字標注中臨時使用一下字體,則可以利用font_manager.FontProperties()
將字體路徑作為fname
參數傳入,并傳入到對應matplotlib
繪圖API相應參數中,以text()
為例:
而刻度標簽則可以參考下面的方式:
“matplotlib字體設置方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。