了解对数刻度并实际获取数据的 np.log

Understand log scale and actually taking np.log of a data

我目前正在处理一些实验数据,并且很难理解我是应该做对数刻度还是实际应用 np.log 到数据上。

这是我制作的情节。

蓝色表示使用 plt.yscale('log'),而橙色表示创建新列并将 np.log 应用于数据。

我的问题

为什么它们的大小如此不同?哪个是正确的?如果使用 plt.yscale('log') 是最佳方式,有没有办法获得这些值,因为我需要在之后进行曲线拟合?

提前感谢任何可以提供一些答案的人!

编辑(1)

我知道 plt.yscale('log') 是以 10 为底,而 np.log 指的是自然对数。我尝试在数据上使用 np.log10,但它给出的值较小,与使用对数刻度不对应。

您的数据正在日志化但“指向”?方向错误。

考虑这个玩具数据

x = np.linspace(0, 1, 100)[:-1]
y = np.log(1-x) + 5

然后我们绘制

plt.plot(x, y)

如果我对它进行日志缩放:
只是更夸张

plt.plot(x, y)
plt.xscale('log')

您需要像普通日志数据一样将数据指向另一个方向

plt.plot(-x, y)

但是你还必须确保数据是正的或者......你知道......日志和东西¯\_(ツ)_/¯

plt.plot(-x + 1, y)
plt.xscale('log')