0

我目前正在处理一些实验数据,并且很难理解我是否应该进行对数刻度或实际将 np.log 应用于数据。

这是我制作的情节。

在此处输入图像描述

蓝色代表 using plt.yscale('log'),而橙色代表创建一个新列并应用于np.log数据。

我的问题

为什么它们的量级如此不同?哪个是对的?如果使用plt.yscale('log')是最好的方法,有没有一种方法可以获得这些值,因为我需要在之后进行曲线拟合?

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

编辑(1)

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

4

1 回答 1

1

您的数据正在被记录但“指向”?在错误的方向。

考虑这个玩具数据

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')

在此处输入图像描述

于 2021-03-28T03:52:35.743 回答