gpt4 book ai didi

python - 在 log 中设置 yscale 和在 log 中设置 y 变量有什么区别?

转载 作者:行者123 更新时间:2023-12-01 05:05:32 25 4
gpt4 key购买 nike

我想知道有什么区别:

ax.set_yscale('log')
ax.plot(a,b)

ax.plot(a,np.log10(b))

在第一种情况下,我们只是将 yscale 设置为对数刻度。

在第二种情况下,我们记录 b,即 log10 中的 y 轴变量,然后进行绘图。

它们似乎都给出了不同的结果。作为我举的例子:

a = np.linspace(0,2,100)
b = np.cos(a)

fig = plt.figure()
ax = fig.add_subplot(111)
ax.set_yscale('log')

ax.plot(a,b,'-o')
plt.show()

这给出了 enter image description here

然后当我们使用:

ax.plot(a,np.log10(b),'-o')

我们得到enter image description here

最佳答案

您在第一张图表和第二张图表中给出了不同的数据。一旦转变,另一个则不变。无论轴的比例如何,坐标“(1,100)”将始终为“(1,100)”,无论其标记为“(1,100)”还是“(1,10^2)”。使用对数刻度不是为了转换数据,而是为了在某些点相距较远时获得更易读的图表。

通过自己应用日志,您可以转换数据。然后在你的第二张图中,你必须解释自己“2”实际上意味着“10^2”。

除此之外,唯一的视觉差异只是 y 轴的刻度,如果您非常有耐心,您也可以“手动”将其更改为对数刻度。我建议更改轴上的比例而不是数据上的比例,因为首先它可能会自动处理负/零情况,其次当您想添加箭头等内容以指向图表中的位置时,祝您缩放顺利自己做吧。

关于python - 在 log 中设置 yscale 和在 log 中设置 y 变量有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25121739/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com