Matplotlib的自动缩放似乎在小值的y轴上不起作用?

bwr*_*wrr 3 python matplotlib

由于某些原因,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()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

Imp*_*est 6

我相信这是一个已知问题,在matplotlib中仍然无法解决。它与此处此处相同。

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

使用plot代替scatter

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()
Run Code Online (Sandbox Code Playgroud)

plot除了使用不可见scatter

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()
Run Code Online (Sandbox Code Playgroud)

手动缩放轴使用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()
Run Code Online (Sandbox Code Playgroud)