【Python】徹底解決圖形中:中文字體顯示「豆腐塊」問(wèn)題!
本文分享如何徹底解決圖形中:中文/韓文/日文等亞洲字體顯示「豆腐塊」問(wèn)題!
10W字《Python可視化教程1.0》來(lái)了!??
-
最近發(fā)現(xiàn)一個(gè)很nice的Matplotlib字體管理工具-mplfonts,可徹底 解決Matplotlib亞洲字體 (中文、韓文及日文等)顯示問(wèn)題、輕松管理Matplotlib字體庫(kù); -
本文詳細(xì)介紹mplfonts使用。
mplfonts安裝
pip install mplfonts -i https://pypi.tuna.tsinghua.edu.cn/simple
mplfonts設(shè)置
以下兩種方法等效,
-
方法1、在終端設(shè)置:
mplfonts init即可。
-
方法2、在代碼中加入
from mplfonts.bin.cli import init
init()
mplfonts解決matplotlib中文顯示問(wèn)題
使用mplfonts前,
import matplotlib.pyplot as plt
plt.style.use('fivethirtyeight')
plt.figure(dpi=120)
plt.plot([1, 2, 3])
plt.title('家人們~,歡迎關(guān)注公眾號(hào):pythonic生物人', color='red')

令人抓狂的豆腐塊,下面嘗試mplfonts的效果,
from mplfonts import use_font
use_font('Noto Serif CJK SC')#指定中文字體
plt.style.use('fivethirtyeight')
plt.figure(dpi=120)
plt.plot([1, 2, 3])
plt.title('家人們~,歡迎關(guān)注公眾號(hào):pythonic生物人', color='red')
plt.show()
豆腐塊不見了,中文顯示問(wèn)題完美解決?。?!
mplfonts管理matplotlib字體庫(kù)
如果你認(rèn)為mplfonts僅僅能解決“中文顯示”這么簡(jiǎn)單的問(wèn)題,那你就太小瞧它了,mplfonts更大的作用在于管理matploblib的字體庫(kù)。
-
mplfonts安裝一種自定義的字體
終端執(zhí)行,
mplfonts install --update 你的一套字體路徑
-
mplfonts安裝一批自定義的字體
終端執(zhí)行,
mplfonts install --update 你的一批字體文件夾路徑
-
mplfonts繪圖代碼中指定字體
以下兩行代碼即可,
from mplfonts import use_font
use_font('Noto Serif CJK SC') #指定字體
use_font('Noto Serif CJK SC')這里使用了Noto宋體,之所以可以直接調(diào)用,是因?yàn)樵诎惭bmplfonts時(shí),一些開源的字體就已經(jīng)一起下載了,它們是:
Noto Sans Mono CJK SC:Noto等寬黑體
Noto Serif CJK SC:Noto宋體
Noto Sans CJK SC:Noto黑體
Source Han Serif SC:思源宋體
Source Han Mono SC:思源等寬宋體
-
mplfonts調(diào)用系統(tǒng)中任意字體
除了以上5種字體外,你也可以調(diào)用系統(tǒng)中任意字體,不知道字體在哪里,終端中使用mplfonts list即可輕松幫你找到,
例如,cmb10.ttf字體絕對(duì)路徑:/Users/xx/anaconda/anaconda3/lib/python3.8/site-packages/matplotlib/mpl-data/fonts/ttf/cmb10.ttf,
from mplfonts import use_font
use_font('/Users/xx/anaconda/anaconda3/lib/python3.8/site-packages/matplotlib/mpl-data/fonts/ttf/cmb10.ttf')#指定cmb10.ttf字體絕對(duì)路徑
plt.style.use('fivethirtyeight')
plt.figure(dpi=120)
plt.plot([1, 2, 3])
plt.title('家人們~,歡迎關(guān)注公眾號(hào):pythonic生物人', color='red')
plt.show()
ref: https://github.com/Clarmy/mplfonts
10W字《Python可視化教程1.0》來(lái)了!??
點(diǎn)個(gè) 在看 就是最大的支持
評(píng)論
圖片
表情

