python画图总结

python画图总结,第1张

  1. 毕业论文要求的格式:图中字体要求中文为宋体,英文为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) 
#分别对应了保存图片的名字(路径是当前程序所在的目录) 去除图片周围过多的空白 分辨率

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/570795.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存