1. 程式人生 > 其它 >matplotlib中文亂碼問題_matplotlib中文亂碼

matplotlib中文亂碼問題_matplotlib中文亂碼

技術標籤:matplotlib中文亂碼問題

matplotlib中文亂碼問題

matplotlib中文亂碼以及減號不能正常顯示的原因在於預設的字型或者編碼不支援中文和一些符號,一般我們的解決思路就是重新設定畫圖的字型與編碼

import matplotlib as mpl
mpl.rcParams[u'font.sans-serif'] = 'xxx(一種支援中文的字型)'
mpl.rcParams[u'axes.unicode_minus'] = False

matplolib檢視支援的字型

現在我們就需要一種支援中文顯示的字型即可解決中文亂碼問題,可以通過matplotlib中font_manager模組檢視有那些可用的字型

from matplotlib.font_manager import FontManager
fm = FontManager()
mat_fonts = set(f.name for f in fm.ttflist)
print(mat_fonts)

46dc46ca400304a31db286787001f4fa.png

在眾多字型中,我們發現文泉驛微米黑是一種中文字型,於是我們可以在程式碼中設定

import matplotlib as mlp
mpl.rcParams[u'font.sans-serif'] = 'WenQuanYi Micro Hei'
mpl.rcParams[u'axes.unicode_minus'] = False

即可解決matplotlib畫圖時的中文亂碼問題

下載中文字型

這個選擇很多啦,以文泉驛字型為例

linux有apt包管理工具的可以直接用命令列下載

sudo apt-get install ttf-wqy-microhei  #文泉驛-微米黑

其他系統可以訪問官網

Habitat: 首頁​wenq.org 446bd18823684af4345e10538875a0b5.png