Bootstrap

Matplotlib 显示中文

Matplotlib 显示中文

1. 在脚本运行的开始处设置

在最开头写上

plt.rcParams['font.family'] = ['sans-serif']
plt.rcParams['font.sans-serif'] = ['SimHei']

例如:

import matplotlib.pyplot as plt

# 在我的 notebook 里,要设置下面两行才能显示中文
plt.rcParams['font.family'] = ['sans-serif']
# 如果是在 PyCharm 里,只要下面一行,上面的一行可以删除
plt.rcParams['font.sans-serif'] = ['SimHei']

plt.plot([0, 1], [1, 2])
plt.title('显示中文', size=16)
# dpi 设置保存文本的分辨率
plt.savefig('./first.jpg', dpi=200)
plt.show()

说明:这种方法不一定有效,可以试试下面的办法,成功率比较高。

2. 在每一处使用到中文字体的地方,都加上一个字体属性

例如:

import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties

font = FontProperties(fname='/System/Library/Fonts/STHeiti Light.ttc', size=16)

plt.plot([0, 1], [1, 2])
plt.title('显示中文', fontproperties=font)
plt.show()

说明:本文介绍的方法只是在我的环境下这样设置有效,为此做一个记录。

;