matplotlib設置座標軸刻度間隔

本來是想讓橫軸顯示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)

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章