兩行代碼解決Jupyter Notebook中文不能顯示的問題
1、為什麼不顯示中文:
Matplotlib默認不支持中文字符,因為默認的英文字體無法顯示漢字。
圖片顯示情況:
2、解決方案:
在代碼塊加上這兩行代碼:
plt.rcParams[‘font.sans-serif']=[‘SimHei'] #用來正常顯示中文標簽 plt.rcParams[‘axes.unicode_minus']=False #用來正常顯示負號
圖片顯示情況:
補充jupyter-notebook 中matplotlib不支持中文的問題(Linux)
前言
問題就不截圖瞭, 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
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。
推薦閱讀:
- Python中matplotlib如何改變畫圖的字體
- termux中matplotlib無法顯示中文問題的解決方法
- jupyter notebook更換皮膚主題的實現
- jupyter notebook中圖片顯示不出來的解決
- jupyter notebook內核配置的圖文教程