因为投稿要求,图片中的中文必须是某特定字体,在PLT中只修改题目等字体比较简单,但涉及到图例的字体就改不了了,试了很多种方法,最后终于成功了,记录一下
(1)单纯修改题目以及横纵坐标比较简单:
import matplotlib.font_manager
import matplotlib.pyplot as plt
import numpy as np
myfont = matplotlib.font_manager.FontProperties(fname=r'D:xx.ttf')
plt.rcParams['axes.unicode_minus']=False
括号里的D:...是我下载字体的存储位置,字体是ttf格式,属性或者文件地址栏就有。
然后代码中每个需要改变字体的地方都加一句fontproperties=myfont,例如:
plt.xlabel("x轴代表xx",fontproperties=myfont)
plt.ylabel("y轴代表xx",fontproperties=myfont)
plt.title("题目",fontproperties=myfont)
(2)带有label的图片
label示例的字体(就是每个颜色对应的是什么意思,这个示意图里的字体很难修改)无法通过这个方法改变字体,会报错:UserWarning: Glyph 26031 (\N{CJK UNIFIED IDEOGRAPH-65AF}) missing from current font.
要改变的字体会变成小方块(无法正常显示),这里只需要加上
plt.legend(prop=myfont)
即可成功修改。