本來是想讓橫軸顯示1-20的整數,刻度之間間隔1,但是畫出圖來卻顯示有浮點數
plt.title('train loss')
plt.plot(np.arange(1,len(losses)+1), losses)
plt.plot(np.arange(1,len(eval_losses)+1), eval_losses)
經查資料,找到兩種方法:
第一種是通過MultipleLocator類來實現
from matplotlib.pyplot import MultipleLocator #導入此類,設置座標軸間隔
plt.title('train loss')
x_major_locator=MultipleLocator(1)
ax=plt.gca()
ax.xaxis.set_major_locator(x_major_locator)
plt.plot(np.arange(1,len(losses)+1), losses)
plt.plot(np.arange(1,len(eval_losses)+1), eval_losses)
第二種是將橫軸座標範圍轉換成字符串
plt.title('train loss')
plt.plot(np.arange(1,len(losses)+1).astype(np.str), losses)
plt.plot(np.arange(1,len(eval_losses)+1), eval_losses)