定位原因: 主要是matplotlib ? ? 字體庫缺失双泪,沒有中文字體導致的
解決方法:
1, 安裝中文字體吉殃;
? ? 官網下載簡體中文 搜索Simhei.ttf
? ?找Mac 自帶的中文字體辞居,將其從mac自身的字體庫,粘貼到 ```?matplotlib``` 的字體庫
2蛋勺,修改配置:?? ?
# 找到matplotlib的字體庫位置速侈,配置位置
import matplotlib
# 查找字體路徑
print(matplotlib.matplotlib_fname())
# 查找字體緩存路徑
print(matplotlib.get_cachedir())
2,可以看到配置庫的位置為:
/usr/local/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc
字體庫的位置在相同目錄下的font/ttf文件夾
/usr/local/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf
3, 字體放在對應目錄:
????拷貝下載的SimHei ->?/usr/local/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf/
4, 修改配置:?
vim ?/usr/local/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc
第一個地方:
# font.family?????????: sans-serif ??
操作: 去掉注釋?
font.family?????????: sans-serif
第二個地方:
#font.sans-serif?????:DejaVu Sans, Bitstream Vera Sans, Computer Modern Sans Serif, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
操作: 去掉注釋迫卢,添加我們添加進去的字體:SimHei
font.sans-serif?????:SimHei,DejaVu Sans, Bitstream Vera Sans, Computer Modern Sans Serif, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
5倚搬,重新加載
from matplotlib.font_manager import _rebuild
_rebuild()
6,查看是否有SimHei 字體存在
Fonts = sorted([f.name for f in matplotlib.font_manager.fontManager.ttflist])
for e in Fonts:
????print(e)
# 搜索SimHei乾蛤,如果存在就可以下一步每界,如果不存在,就重啟電腦家卖,然后重復5眨层,6,差不多就沒問題了
7上荡, 測試中文顯示問題
#測試:
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=‘SimHei'
plt.title('你好')
plt.show()