gpt4 book ai didi

python - Matplotlib 的自动缩放似乎不适用于小值的 y 轴?

转载 作者:行者123 更新时间:2023-12-02 00:58:13 30 4
gpt4 key购买 nike

出于某种原因,plt.autoscale 似乎不适用于非常小的值(即 1E-05 之类的值)。如图所示,所有内容都显示在图表中靠近零轴的位置。

有什么想法我在这里出错了吗?

import matplotlib.pyplot as plt

y= [1.09E-05, 1.63E-05, 2.45E-05, 3.59E-05, 5.09E-05, 6.93E-05, 9.07E-05]
x= [0, 10, 20, 30, 40, 50, 60]

fig3, ax3 = plt.subplots()
ax3.scatter(x, y, color='k', marker = "o")
ax3 = plt.gca()
plt.autoscale(enable=True, axis="y", tight=False)
plt.show()

enter image description here

最佳答案

我相信这是a known issue matplotlib 中仍然没有解决这个问题。与 here 相同或here .

这种情况的可能解决方案是

使用绘图而不是散点

import matplotlib.pyplot as plt

y= [1.09E-05, 1.63E-05, 2.45E-05, 3.59E-05, 5.09E-05, 6.93E-05, 9.07E-05]
x= [0, 10, 20, 30, 40, 50, 60]

fig3, ax3 = plt.subplots()
ax3.plot(x, y, color='k', marker = "o", ls="")
ax3.autoscale(enable=True, axis="y", tight=False)
plt.show()

除了散点之外,还使用不可见的绘图

import matplotlib.pyplot as plt

y= [1.09E-05, 1.63E-05, 2.45E-05, 3.59E-05, 5.09E-05, 6.93E-05, 9.07E-05]
x= [0, 10, 20, 30, 40, 50, 60]

fig3, ax3 = plt.subplots()
ax3.scatter(x, y, color='k', marker = "o")
ax3.plot(x, y, color='none')
ax3.relim()
ax3.autoscale_view()
plt.show()

使用 set_ylim 手动缩放轴

import matplotlib.pyplot as plt

y= [1.09E-05, 1.63E-05, 2.45E-05, 3.59E-05, 5.09E-05, 6.93E-05, 9.07E-05]
x= [0, 10, 20, 30, 40, 50, 60]

fig3, ax3 = plt.subplots()
ax3.scatter(x, y, color='k', marker = "o")

dy = (max(y) - min(y))*0.1
ax3.set_ylim(min(y)-dy, max(y)+dy)
plt.show()

关于python - Matplotlib 的自动缩放似乎不适用于小值的 y 轴?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45757260/

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