中文相关
查看系统是否有支持的中文
from matplotlib.font_manager import FontManager
import subprocess
fm = FontManager()
mat_fonts = set(f.name for f in fm.ttflist)
print(mat_fonts)
以下字体都是中文相关:
DengXian
FangSong
KaiTi
LiSu
YouYuan
Adobe Fan Heiti Std
Adobe Fangsong Std
Adobe Heiti Std
Adobe Kaiti Std
SimHei
不支持,添加中文字体
- 从SimHei下载
- 找到matplotlib字体文件夹,如
anaconda3/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf
,并将下载的copy到这个文件夹下。两种方式,1)已知python根目录,比如’/data/anaconda3’,可以find . -name "ttf"
找到matplotlib字体文件夹;2)matplotlib.matplotlib_fname()
可以查到。 - 注意修改完了重启
支持,两种方式配置
动态配置
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
永久性配置
- 查看配置文件:
import matplotlib
matplotlib.matplotlib_fname()
- 配置文件中修改如下三项:
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,#作用就是解决负号'-'显示为方块的问题
参考:
基础设置
横坐标斜显示: plt.xticks(rotation=120)
大小