前言:
問題就不截圖了, jupyter-notebook中,使用plt畫出的圖像,中文都是小方格(亂碼)
解決方法如下
1. Linux安裝字體
把Windows的字體C:/Windows/Fonts
復制到Linux系統的存放字體路徑/usr/share/fonts
下, 如圖:
cd到/usr/share/fonts/Fonts
,也就是拷貝來的文件夾, 建立字體索引信息,更新字體緩存,讓字體生效, 運行命令:
mkfontscale && mkfontdir && fc-cache -fv && source /etc/profile && fc-list |wc -l
查看字體fc-list :lang=zh
2. 添加配置
這里有很多版本,比如:
import matplotlib
matplotlib.use('qt4agg')
#指定默認字體
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['font.family']='sans-serif' #解決負號'-'顯示為方塊的問題
matplotlib.rcParams['axes.unicode_minus'] = False
我的設置是:
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['STSong']
mpl.rcParams['axes.unicode_minus'] = False
如圖,可以正常顯示中文了
3. 如果還不行,清除緩存
如果添加了第二部的配置,但還是顯示中文亂碼, 那么有可能是緩存的問題, 執行rm -r ~/.cache/matplotlib