- 下载字体的链接,首先搜索字体,然后下载
- 将字体拷贝到 ~\anaconda\Lib\site-packages\matplotlib\mpl-data\fonts\ttf 目录下,直接双击然后安装。其中字体的名称如下:
- 打开 用户\管理员.matplotlib 文件夹,删除字体缓存文件"fontlist-v310.json"
- 修改 ~\anaconda\Lib\site-packages\matplotlib\mpl-data 里面的matplotlibrc文件,修改如下:
去掉注释,以及在font.sans-serif 里加入刚添加字体的名称,我的是“BatangChe”
font.family : sans-serif
font.sans-serif : BatangChe, SimHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
axes.unicode_minus,将True改为False,作用就是解决负号'-'显示为方块的问题
- 然后重启一下Python内核就可以了,不用重启电脑。
实验代码如下:
import numpy as np
from matplotlib import font_manager
import matplotlib.pyplot as plt
from matplotlib import rcParams
rcParams['font.family'] = 'sans-serif'
# rcParams['font.sans-serif'] = ['Microsoft YaHei']
rcParams['font.sans-serif']=['BaTangChe'] # 用来正常显示韩语标签
rcParams['axes.unicode_minus'] = False
objects = ('사과', '배', '귤', '오렌지', '바나나', '수박')
y_pos = np.arange(len(objects))
performance = [10,8,6,4,2,1]
plt.bar(y_pos, performance, align='center', alpha=0.5)
plt.xticks(y_pos, objects)
plt.ylabel('Usage')
plt.title('Programming language usage')
plt.show()
out: