首先,博主的系統環境如下:
Win10 1709 教育版
Anaconda3-5.0.1-Windows-x86_64.exe
Python 3.6.3
Matplotlib 2.1.0
最近需要用中文在圖像上註釋圖像的標籤,沒想到用Matplotlib繪製標籤時候居然顯示不出來,全部顯示爲方框。
在網上搜索了一下,基本都是說用本地計算機C盤的字體來設置,但是這個方法我這邊沒有實現出來~~~但是基本可以確定是因爲字體的關係,遂查看了pyplot能否更改字體,很不幸,並沒有看到設置字體的屬性。
故查閱了Matplotlib的官方函數API,看一下是否能夠解決這個問題:
打開網站可以看到pyplot的各個函數,如下:
其中text函數是用來向圖片中加文本註釋的,但是text函數的參數中卻並沒有看到設置字體的參數~~~點擊該函數:
可以看到txet函數還闊以接受Text的函數的參數,故繼續點擊如下:
可以看到,這時出現了我們想要的fontproperties屬性,因爲我們只需要使得該屬性能夠顯示中文即可!我這邊是設置成了黑體(SimHei),成功解決!如下所示:
原代碼:
annotation.text(x, y + 8, caption, color='b', size=11)
替換爲:
annotation.text(x, y + 8, caption, color='b', size=11, fontproperties='SimHei')