快速解決matplotlib中文亂碼的技巧和步驟
當我們使用matplotlib來繪制圖形時,經常會遇到中文亂碼的問題。這是因為默認情況下,matplotlib使用的是英文字體,而對于中文來說,這樣就會導致顯示出來的文字無法正常顯示。然而,我們可以采取一些簡單的技巧和步驟來解決這個問題,讓我們的圖形能夠正確顯示中文。
一、更改默認字體
matplotlib會使用默認字體來顯示文本。首先,我們要找到我們所使用的字體文件??梢允褂靡韵麓a來查看當前系統所安裝的字體:
import matplotlib.font_manager as fm font_list = fm.findfont(fm.FontProperties()) print(font_list)
登錄后復制
這段代碼將打印出系統安裝的字體路徑??梢赃x擇其中一個字體文件作為我們的中文字體。
接下來,我們需要在matplotlibrc配置文件中設置所選字體作為默認字體。找到matplotlibrc文件的位置(可以使用以下代碼來獲取其位置):
import matplotlib print(matplotlib.matplotlib_fname())
登錄后復制
在找到的matplotlibrc文件中,找到以下兩個參數:
#font.serif : Times New Roman, ... #font.sans-serif : Arial, ...
登錄后復制
將這兩個參數的值修改為我們選擇的字體文件的名字,例如:
font.serif : SimHei font.sans-serif : SimHei
登錄后復制
保存修改后的matplotlibrc文件,重啟python環境。
二、使用指定字體
如果需要在一次的繪制中使用指定的字體,可以使用以下代碼:
import matplotlib.pyplot as plt font = {'family' : 'SimHei', 'weight' : 'normal', 'size' : 14} plt.rc('font', **font)
登錄后復制
其中,’family’參數指定了字體的名稱,’weight’參數指定了字體的粗細,’size’參數指定了字體的大小。這樣,我們就可以在之后的繪圖中使用指定的字體了。
接下來,讓我們來看一個具體的例子。
import matplotlib.pyplot as plt import numpy as np font = {'family' : 'SimHei', 'weight' : 'normal', 'size' : 14} plt.rc('font', **font) x = np.linspace(0, 2*np.pi, 100) y = np.sin(x) plt.plot(x, y) plt.title('正弦曲線') plt.xlabel('x軸') plt.ylabel('y軸') plt.show()
登錄后復制
在這個例子中,我們使用了SimHei字體,對標題、x軸和y軸的標簽進行了設置。
通過以上兩種方法,我們可以快速解決matplotlib中文亂碼的問題。無論是更改默認字體還是在每次繪圖中使用指定字體,都能夠讓我們的圖形清晰地顯示中文。希望本文對于您使用matplotlib繪制中文圖形是有所幫助。