本文使用到的库为:matplotlib.pyplot IDE:Pycharm2021
我下面同意把pyplot名称改写为plt,(这是一个matlab的绘图库,matlab中使用和python中基本一样的)。
import matplotlib.pyplot as plt
先讲解一下里面的函数:
plt.figure(figsize=(8, 6)) 直接理解为开了一个宽8高6的绘图区域就好了,单位是英寸。
里面还有一些参数:facecolor:制定背景颜色。edgecolor:制定边框颜色。frameon:是否显示边框
plt.title("Loss line") 输入你的绘图标题,一定不能是中文,要不然直接会出现框框的。
plt.xlim(0, 150) 和 plt.ylim(0.5, 1) 这个是用来限制横纵坐标的范围的。
以下部分为设置横纵坐标之间的间隔。
开辟连个刻度,然后实例化ax,之后吧对应参数传进去。
x = plt.MultipleLocator(10) # x轴每10一个刻度
y = plt.MultipleLocator(0.1) # y轴每15一个刻度
# 设置刻度间隔
ax = plt.gca()
ax.xaxis.set_major_locator(x)
ax.yaxis.set_major_locator(y)
plt.plot(epoch, Loss, "y-", label="0.8 Loss_Threshold")
进行绘制曲线的,epoch为横坐标的数据,loss为纵坐标的数据,都为列表类型。"y-"的意思是描绘点的时候是按照y:yellow的缩写黄色,-的意思就是,那个对应的坐标点是-的样子。label为对应的曲线名称。
plt.legend() 显示label的内容
plt.grid() 是否绘图区域出现网格
下面是用来绘制x和y坐标的坐标名称。
plt.xlabel("epoch")
plt.ylabel("loss")
保存plot绘制完成的图片到savefile文件中。savefile是一个地址+图片的名字和格式。
例如. ./FLCSV/Trainloss.png
plt.savefig(savefile)
完整绘图代码函数如下:
def excelplot_acc(epoch,loss,savefile):
plt.figure(figsize=(8, 6))
plt.title("loss line")
plt.xlim(0, 150)
# plt.ylim(0.5, 1)
x = plt.MultipleLocator(10) # x轴每10一个刻度
# y = plt.MultipleLocator(0.1) # y轴每15一个刻度
# 设置刻度间隔
ax = plt.gca()
ax.xaxis.set_major_locator(x)
# ax.yaxis.set_major_locator(y)
plt.plot(epoch, loss, "y-", label="0.8 loss_Threshold")
plt.legend()
# plt.grid()
plt.xlabel("epoch")
plt.ylabel("loss")
plt.savefig(savefile)
plt.show()
效果曲线: