120. 解決matplotlib繪圖中文無法顯示的問題

  1. 外部安裝 mplfonts
pip install mplfonts
mplfonts init
  1. 代碼調(diào)用CKJ字體
from mplfonts import use_font
use_font('Noto Sans CJK SC')

該方法自動接入CJK中文 韓文 日文等字體,use_font介紹如下:

def use_font(font="Noto Sans CJK SC"):
    """To choose the font that you want to use

    Args:
        font (str, optional): The font name that you want to use.
                              Defaults to 'Noto Sans CJK SC'.
    """
    matplotlib.rcParams["font.family"] = "sans-serif"
    matplotlib.rcParams["font.sans-serif"] = [font, "sans-serif"]
    matplotlib.rcParams["axes.unicode_minus"] = False
  1. 示例與結(jié)果圖
import numpy as np


x = np.linspace(0, 10, 100)
y = np.sin(x)
 
plt.figure(figsize=(8, 5))
plt.plot(x, y, label='正弦曲線')
plt.title('這是一個帶中文標題的圖表')
plt.xlabel('橫坐標(時間)')
plt.ylabel('縱坐標(幅度)')
plt.legend()
# plt.grid(True)
plt.show()
結(jié)果圖
x = np.linspace(0, 10, 100)
y = np.log(x)
 
plt.figure(figsize=(8, 5))
plt.plot(x, y, label='log曲線')
plt.title('這是一個帶中文標題的圖表2')
plt.xlabel('橫坐標(時間)')
plt.ylabel('縱坐標(幅度)')
plt.legend()
plt.show()
結(jié)果圖2
  1. 其他方法
  • (1) 手動下載中文字體"SimHei.ttf",放入"lib/python3.8/site-packages/matplotlib/mpl-data/fonts/ttf",在每次應(yīng)用時指定font.
  • (2) matplotlib.rcParams['font.sans-serif'] = ['SimHei']方法不可用。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容