jie1's picture
Upload 28 files
2d12bc4
#!/usr/bin/python
# coding: utf-8
# Author: LE YUAN
# https://blog.csdn.net/roguesir/article/details/77839721
import matplotlib.pyplot as plt
from matplotlib import rc
with open('../../Results/output/MAEs--all--radius2--ngram3--dim20--layer_gnn3--window11--layer_cnn3--layer_output3--lr1e-3--lr_decay0.5--decay_interval10--weight_decay1e-6--iteration50.txt', 'r') as infile :
lines = infile.readlines()[1:]
# print(len(lines))
epoch_dev = list()
RMSE_dev = list()
for line in lines[:18] :
data = line.strip().split('\t')
epoch_line = int(data[0])
RMSE_line = float(data[-4])
if epoch_line%2 == 0 or epoch_line in [1,99] :
epoch_dev.append(epoch_line)
RMSE_dev.append(RMSE_line)
epoch_test = list()
RMSE_test = list()
for line in lines[:18] :
data = line.strip().split('\t')
epoch_line = int(data[0])
RMSE_line = float(data[-3])
if epoch_line%2 == 0 or epoch_line in [1,99] :
epoch_test.append(epoch_line)
RMSE_test.append(RMSE_line)
epoch_train = list()
RMSE_train = list()
for line in lines[:18] :
data = line.strip().split('\t')
epoch_line = int(data[0])
RMSE_line = float(data[2])
if epoch_line%2 == 0 or epoch_line in [1,99] :
epoch_train.append(epoch_line)
RMSE_train.append(RMSE_line)
# fig=plt.figure(figsize=(1.5,1.5))
# # fig.add_axes([0.2,0.2,0.6,0.6])
# # fig.add_axes([6.8/39.6,6.8/39.6,31.7/39.6,31.7/39.6])
# fig.add_axes([0.12,0.12,0.83,0.83])
plt.figure(figsize=(1.5,1.5))
# To solve the 'Helvetica' font cannot be used in PDF file
# https://stackoverflow.com/questions/59845568/the-pdf-backend-does-not-currently-support-the-selected-font
rc('font',**{'family':'serif','serif':['Helvetica']})
plt.rcParams['pdf.fonttype'] = 42
plt.axes([0.12,0.12,0.83,0.83])
# plt.rcParams['xtick.direction'] = 'in'
# plt.rcParams['ytick.direction'] = 'in'
plt.tick_params(direction='in')
plt.tick_params(which='major',length=1.5)
plt.tick_params(which='major',width=0.4)
plt.plot(epoch_train,RMSE_train,color='#159090',linestyle='dashed',linewidth=0.75,marker='s',markerfacecolor='#159090', markersize=3,label='Training')
plt.plot(epoch_dev,RMSE_dev,color='#b2182b',linestyle='dashed',linewidth=0.75,marker='o',markerfacecolor='#b2182b', markersize=3,label='Validation')
plt.plot(epoch_test,RMSE_test,color='#2166ac',linestyle='dashed',linewidth=0.75,marker='^',markerfacecolor='#2166ac', markersize=3,label='Test')
plt.rcParams['font.family'] = 'Helvetica'
# plt.rc('font', family='Helvetica')
plt.xticks([0,3,6,9,12,15,18])
plt.yticks([0.5,0.7,0.9,1.1,1.3,1.5])
plt.xlabel('Epoch', fontsize=7)
plt.ylabel('RMSE', fontsize=7)
plt.xticks(fontsize=6)
plt.yticks(fontsize=6)
plt.legend(frameon=False, prop={"size":6})
ax = plt.gca()
ax.spines['bottom'].set_linewidth(0.5)
ax.spines['left'].set_linewidth(0.5)
ax.spines['top'].set_linewidth(0.5)
ax.spines['right'].set_linewidth(0.5)
plt.savefig("../../Results/figures/Fig2a.pdf", dpi=400, bbox_inches='tight')