首頁  >  文章  >  後端開發  >  輕鬆解決matplotlib中文亂碼的煩惱,專家教你一招

輕鬆解決matplotlib中文亂碼的煩惱,專家教你一招

WBOY
WBOY原創
2024-01-04 13:45:21813瀏覽

輕鬆解決matplotlib中文亂碼的煩惱,專家教你一招

專家教你一招,輕鬆解決matplotlib中文亂碼的煩惱,需要具體程式碼範例

導語:
在使用Python進行資料分析和視覺化的過程中,我們常會用到matplotlib這個常用的繪圖庫。然而,有時我們使用matplotlib繪製的圖表中文字元會出現亂碼的情況,給我們帶來不必要的困擾。今天,我們將分享一個解決matplotlib中文亂碼問題的簡單方法,並提供具體的程式碼範例。

正文:
解決matplotlib中文亂碼問題的方法是透過設定字型來實現。首先,我們要確定作業系統上已經安裝的中文字體。一般情況下,Windows系統已經預設安裝了一些中文字體,可以透過下列程式碼查看系統可用的字體列表:

import matplotlib.font_manager as fm
font_list = fm.findSystemFonts()
font_names = [fm.get_font(font).family_name for font in font_list]
print(font_names)

執行上述程式碼,會輸出系統中可用的字體列表,我們可以看到類似於"SimSun"、"SimHei"、"Microsoft Yahei"等字體名稱。

接下來,我們需要在matplotlib中設定使用的字體。可以透過下面的程式碼範例設定字體:

import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties

# 设置字体
font = FontProperties(fname=r"c:windowsontsSimSun.ttc", size=14)

# 绘图示例
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
plt.plot(x, y)

# 添加中文字符
plt.title("折线图示例", fontproperties=font)
plt.xlabel("x轴", fontproperties=font)
plt.ylabel("y轴", fontproperties=font)

plt.show()

在上述程式碼中,我們首先透過FontProperties來設定要使用的字體,其中fname參數指定了字體的路徑。要注意的是,上述程式碼中的路徑是針對Windows系統的設置,如果你使用的是其他作業系統,請相應修改字體路徑。然後,我們使用fontproperties參數在標題和軸標籤中指定要使用的字體。

執行上述程式碼,就能夠繪製出中文字元顯示正常的折線圖。

另外,如果你想在整個運行過程中都使用相同的字體設置,可以在matplotlib的設定檔中進行全域設定。首先,需要找到matplotlib的配置文件,可以透過下面的程式碼查看其所在路徑:

import matplotlib as mpl
print(mpl.matplotlib_fname())

然後,編輯該設定檔(一般是matplotlibrc),找到如下行:

#font.family         : sans-serif

將其修改為:

font.family         : SimSun, Arial, sans-serif

儲存設定文件,重啟Python環境,所有使用matplotlib繪製的圖表都將使用指定的字體。

結語:
透過上述方法,我們可以輕鬆解決matplotlib中文亂碼的問題。在繪製圖表時,我們只需透過設定合適的字體,即可確保中文字元的正常顯示。這為我們進行數據分析和視覺化工作提供了便利。希望以上內容能幫助大家,謝謝閱讀!

以上是輕鬆解決matplotlib中文亂碼的煩惱,專家教你一招的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn