在撰寫論文的時候發現論文需要上傳清晰的pdf格式的圖,和我們平時跑實驗用的圖不是一個概念。需要根據排版的格式進行調整,改大小,清晰度,去白邊等操作,故在此整理記錄。
圖檔大小
plt.figure(figsize=[7, 5]) #用來控制圖像大小 先width 後height
畫折線圖
plt.plot(x_axis,data, label="XXX", color="red", linewidth=1.1, marker='s', markersize=12)
x_axis 是用來設定x軸坐标顯示的标簽
label 給線加上圖例說明
color 線顔色
linewidth 線寬度
marker 折線頂點辨別 s:辨別方塊,也有三角V,原點o等其他
alpha 用來調節線條透明度
平滑曲線
因為我用來畫的主要是機器學習裡面的圖随着疊代次數增加,相關曲線會頻繁震蕩,畫出來的圖會不好看,是以就需要進行進行平滑處理,下面的平滑函數使用了,tensorboard中的計算方式。
def smooth(data, weight=0.8):
last = data[0]
res= []
for point in data:
smoothed_val = last * weight + (1 - weight) * point
res.append(smoothed_val)
last = smoothed_val
return res
這時候就可以畫出下面這種圖
字元格式設定
為x軸y軸添加說明,同時可以改變字型大小
plt.ylabel('Reward',fontsize=25)
plt.xlabel('Training epochs',fontsize=25)
控制圖例大小和位置,有的時候因為資料太多産生的圖例可能會導緻,圖例擋住圖像,這時候就可使用如下代碼修改圖例的大小和位置
font1 = {'family': 'Times New Roman',
'weight': 'normal',
'size': 18,
}
plt.legend(loc='upper right', prop=font1)
loc可以控制圖例具體位置,prop控制字型大小格式
去白邊
fig = plt.gcf()
plt.margins(0, 0)
fig.tight_layout()
plt.gcf可以取到fig圖,然後根據fig圖,清除到多餘的白框
導出PDF
為了導出論文能使用的圖檔是以就需要使用pdf格式,同時設定一個大的dpi
fig.savefig("./XXX.pdf", format='pdf', transparent=True, dpi=300, pad_inches=0)