如何对值的厚图进行四舍五入?

时间:2019-06-12 23:24:21

标签: python matplotlib plot

我有这个小脚本可以绘制剧情:

plt.plot(loss_test3)
plt.plot(loss)
plt.legend(['loss_test3','loss_test4'], loc='upper left')
t = np.linspace(loss.min(), loss_test3.max(), 5)
plt.yticks(t, t)
plt.xlim(0, 200)
plt.title('test 4 loss')
plt.ylabel('loss')
plt.xlabel('epoch')
plt.savefig('test_4_loss.png', dpi=100)
plt.show()

我得到的输出是这样:

enter image description here

如何在Y轴上取整值?

1 个答案:

答案 0 :(得分:0)

我以这种方式解决了这个问题:

from matplotlib.ticker import StrMethodFormatter

    plt.plot(loss_test3)
    plt.plot(loss)
    plt.legend(['loss_test3','loss_test4'], loc='upper left')
    #t = [loss.min(), loss.max()]
    t = np.linspace(loss.min(), loss_test3.max(), 5)
    plt.yticks(t, t)
    plt.gca().yaxis.set_major_formatter(StrMethodFormatter('{x:,.3f}'))
    plt.xlim(0, 200)
    plt.title('test 4 loss')
    plt.ylabel('loss')
    plt.xlabel('epoch')
    plt.savefig('test_4_loss.png', dpi=100)
    plt.show()