1. 首先导入一些python画图的包,读取txt文件,假设我现在有两个模型训练结果的records.txt文件
import numpy as np
import matplotlib.pyplot as plt
import pylab as pl
from mpl_toolkits.axes_grid1.inset_locator import inset_axes
data1_loss =np.loadtxt("valid_RCSCA_records.txt")
data2_loss = np.loadtxt("valid_SCRCA_records.txt")
2. 我自己的数据第一列是训练步数,第二列的loss,所以取出相应列的数据作为绘图的x和y
x = data1_loss[:,0]
y = data1_loss[:,1]
x1 = data2_loss[:,0]
y1 = data2_loss[:,1]
3. 先创建一幅图,再在这幅图上添加一个小图,小图用来显示部分放大的曲线
fig = plt.figure(figsize = (7,5)) #figsize是图片的大小`
ax1 = fig.add_subplot(1, 1, 1) # ax1是子图的名字`
4. 先画出整体的loss曲线
pl.plot(x,y,'g-',label=u'Dense_Unet(block layer=5)')`
# "'g"'代表“green”,表示画出的曲线是绿色,“-”代表画的曲线是实线,可自行选择,label代表的是图例的名称,一般要在名称前面加一个u&#