首页 > 解决方案 > Matplotlib 没有显示一点

问题描述

我正在尝试绘制一条线 x 对数刻度,但尽管刻度正确,但没有显示第一个点。x == 0 的值为 1.57,x == 10^(-8) 的值为 0.4。

我怎样才能纠正情节?


    plt.plot(lambdas, errors, "-b", label = 'Test')
    plt.plot(lambdas,errors_train, "-r", label = 'Train')
    plt.xscale('log')
    plt.legend(loc="upper left")

    plt.xlabel('ln lambda')
    plt.ylabel('Root Mean Squared Error')

    plt.savefig("1.png")
    plt.show()

在此处输入图像描述

标签: pythonmatplotlib

解决方案


您可以使用symlog刻度并根据需要设置线性阈值(刻度变为线性刻度的最小值):

import matplotlib.pyplot as plt

plt.plot([0, 1e-8, 1e-7, .1], [1.6, .4, .3, .4])
plt.xscale('symlog', linthresh=1e-8)

在此处输入图像描述


推荐阅读