python matplotlib 中文乱码

matplotlib保存图片时中文乱码的问题,网上大多的解决办法都是:

plt.rcParams['font.sans-serif'] = ['SimHei']  # 制定默认字体
plt.rcParams['axes.unicode_minus'] = False  # 解决保存图像时符号-显示为方块的2问题

的确,在我自己的电脑上解决了问题,但是把代码部署到服务器之后,发现中文乱码的问题又出现了

后来查找了一些资料,通过手动下载中文字体的方式解决了问题

1、下载中文字体(黑体):https://www.fontpalace.com/font-details/SimHei/  双击安装

2、将SimHei.ttf拷贝到matplotlib/mpl-data/fonts/ttf文件夹下面,我电脑中的位置是:/usr/local/lib/site-packages/matplotlibmpl-data/fonts/ttf

3、修改配置文件matplotlibrc (在matplotlib/mpl-data/目录下面)修改下面三项配置:

font.family : sans-serif

font.sans-serif : SimHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif

axes.unicode_minus:False

将#(注释)去掉,或者直接在后面加都可以

4、将代码中加入下面两行,重新加载一下字体:

from matplotlib.font_manager import _rebuild

_rebuild() 

以上,解决了matplotlib 乱码问题

 

你可能感兴趣的:(方法)