- 中文相关
- 查看系统是否有支持的中文
- 不支持,添加中文字体
- 支持,两种方式配置
- 动态配置
- 永久性配置
- 参考:
- 基础设置
- 折线图
- 多条折线图
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,#作用就是解决负号'-'显示为方块的问题参考:
matplotlib图例中文乱码?
基础设置横坐标斜显示: plt.xticks(rotation=120)
大小
参考:python matplotlib绘制多条折线图



