- 毕业论文要求的格式:图中字体要求中文为宋体,英文为Times New Roman 字号均为5号
step1:matplotlib中没有宋体,需要自行从本地导入
from matplotlib.font_manager import FontProperties
# 定义自定义字体,文件名从查看系统中文字体中来
my_font = FontProperties(fname='C:\Windows\Fonts\simsun.ttc', size=10.5) # simsun.ttc是windows自带的宋体 5号字对应size为10.5
# 解决负号'-'显示为方块的问题
matplotlib.rcParams['axes.unicode_minus'] = False # 需要有这一条命令,防止出的图中文字都变成方框
plt.legend(loc = 4,prop={"family" : "Times New Roman","size":10.5}) # 设置仿真图例说明的字体和字号
plt.xlabel(r'训练步数',fontproperties=my_font)
plt.ylabel(r'平均速率$\mathrm{(bps)}$',fontproperties=my_font) #设置\mathrm{(bps)}的作用是保证单位bps是Times New Roman字体
plt.tick_params(labelsize=10.5) # 以下三行设置坐标轴刻度的字体和字号
labels = ax.get_xticklabels() + ax.get_yticklabels()
[label.set_fontname('Times New Roman') for label in labels]
step2: 要求仿真图中二维坐标系不能有右边框和上边框,可以设置下面两条命令
ax = plt.axes()
ax.spines['top'].set_visible(False) # 去掉上边框
ax.spines['right'].set_visible(False)
step3:去点边框后,水平的x轴最后显示一段空白 缺少截止刻度线
可以将x轴的范围限定在某一区间内保证最后面有刻度线,命令如下:
plt.xlim(-250,3500) # 设置-250是确保0点左侧有一段留白 不然折线直接贴在y轴上
plt.ylim(0.6,2.2) # 里面的数值根据美观自行调节
step4:保存图片
plt.savefig('reward.png', bbox_inches='tight',dpi=400)
#分别对应了保存图片的名字(路径是当前程序所在的目录) 去除图片周围过多的空白 分辨率
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)