网上教程很多,但是折腾了好久才弄好。特此记录一下。
- 查看matplotlib配置文件位置
>>> import matplotlib
>>> print matplotlib.matplotlib_fname()
/usr/local/lib/python2.7/site-packages/matplotlib/mpl-data/matplotlibrc
PS:因为之前安装了两个matplotlib的库。所以这里会有问题。
- 一个使用sudo apt-get install python-matplotlib安装,在root用户下。
- 一个使用pip install matplotlib普通用户安装。
删除root目录下的matplotlib,使用命令sudo apt-get remove python-matplotlib后,才能显示正常的matplotlib配置文件。
- 永久解决方法
- 首先将windwos中fonts目录下的simhei.ttf拷贝到上一步获取到的路径中
/usr/local/lib/python2.7/site-packages/matplotlib/mpl-data/fonts/ttf
或者
/usr/share/matplotlib/mpl-data/fonts/ttf
-
修改第一步的配置文件/usr/local/lib/python2.7/site-packages/matplotlib/mpl-data/matplotlibrc
# 添加以下内容 font.family : sans-serif font.sans-serif : SimHei axes.unicode_minus : False #解决负号'-'显示为方块的问题 -
删除~/.cache/matplotlib的缓冲
-
重新加载字体
from matplotlib.font_manager import _rebuild _rebuild() -
验证
新建python文件,输入以下内容
# -*- coding:utf-8 -*-
from matplotlib import pyplot as plt
plt.title(u'显示中文')
plt.show()
若出现如下图的中文字符,则说明更改成功。

最后附上simhei.ttf的链接
simhei.ttf
Matplotlib中文显示配置

本文详细介绍了如何在Matplotlib中正确显示中文字符的方法。包括解决因安装多个版本库导致的问题,配置字体文件路径,以及调整配置文件以支持中文显示等步骤。
8803





