在使用`Matplotlib`繪製圖形時,我們可能會遇到中文顯示亂碼的問題。這是由於`Matplotlib`默認不支持中文字體,本文將從多個方面對PLT中文亂碼問題做出詳盡解釋。
一、PLT翻譯中文
我們知道,在PLT中文亂碼問題中,有一種解決方式就是翻譯所有的英文字體名稱,以此來找到能夠繪製中文的字體。下面是一個示例代碼:
import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] # 指定默認字體為黑體 plt.rcParams['axes.unicode_minus'] = False # 解決保存圖像是負號'-'顯示為方塊的問題 x = [1,2,3] y = [4,5,6] plt.plot(x, y) plt.show()
在這段代碼中,我們使用了`SimHei`字體,並且將負號顯示為正常的`-`符號。這樣,在繪製中文時就不再出現亂碼問題。
二、Python PLT中文
除了指定字體之外,我們還可以通過在系統中安裝支持中文字體的組件,來解決PLT中文亂碼問題。下面是一個示例代碼:
import matplotlib.pyplot as plt import matplotlib.font_manager as fm plt.rcParams['axes.unicode_minus'] = False # 通過字體文件來設置中文字體 font_path = 'C:\Windows\Fonts\simhei.ttf' font_prop = fm.FontProperties(fname=font_path) x = [1,2,3] y = [4,5,6] plt.plot(x, y) plt.xlabel('橫坐標', fontproperties=font_prop) # 設置橫坐標中文 plt.ylabel('縱坐標', fontproperties=font_prop) # 設置縱坐標中文 plt.show()
在這段代碼中,我們使用了系統中一個支持中文的字體文件`simhei.ttf`,並通過`FontProperties`屬性來指定字體。
三、PLT標題中文
除了坐標軸標籤在PLT中文亂碼問題中可能出現亂碼之外,還有一個常見的問題就是標題中的中文亂碼。下面是一個示例代碼:
import matplotlib.pyplot as plt import matplotlib.font_manager as fm plt.rcParams['axes.unicode_minus'] = False # 通過字體文件來設置中文字體 font_path = 'C:\Windows\Fonts\simhei.ttf' font_prop = fm.FontProperties(fname=font_path) x = [1,2,3] y = [4,5,6] plt.plot(x, y) plt.title('示例圖', fontproperties=font_prop) # 設置標題中文 plt.show()
在這段代碼中,我們使用了相同的系統支持中文的字體文件`simhei.ttf`,並通過`FontProperties`屬性來指定標題中的字體。
綜上所述,PLT中文亂碼問題的解決方案一般來說是指定字體或安裝支持中文字體的組件。如果您遇到中文顯示亂碼問題,請使用本文介紹的方法來解決。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/279755.html