matplotlib set_xlim和set_xbound的区别是什么?

ig9co6j1  于 2023-06-23  发布在  其他
关注(0)|答案(2)|浏览(149)

从帮助:

**set_xlim:**设置xaxis的数据限制。
**set_xbound:**设置x轴的数值下限和上限。

这不是很清楚,所以让我们假设我画了一些东西:

import matplotlib.pylab as plt
fig, ax = plt.subplots(1, 1)
ax.plot(xrange(10), xrange(10))

现在,要么我做:

ax.set_xlim(2, 7)

或:

ax.set_xbound(2, 7)

我看不出有什么不同。我可以拖动的情节,所有的线是ploted之间的0和9。

h22fl7wq

h22fl7wq1#

如果稍后打印不在边界内的内容,则边界可以自动更改。相反,限制是固定的,不会自动更改。

import pylab as p

t = p.arange(0.0, 2.0, 0.01)
s = p.sin(2*p.pi*t)

ax=p.subplot(111)
ax.plot(t, s, color='r',linewidth=1.0)
ax.set_ylim(-1,1)
ax.plot(t, s+1, color='g',linewidth=1.0, label="Graph2")
p.show()

ax=p.subplot(111)
ax.plot(t, s, color='r',linewidth=1.0)
ax.set_ybound(-1,1)
ax.plot(t, s+1, color='g',linewidth=1.0, label="Graph2")
p.show()

yc0p9oo0

yc0p9oo02#

在检查源代码之后,我们可以看到set_xbound(lower, upper)调用set_xlim,并传递参数,如下所示:self.set_xlim(sorted((lower, upper), reverse=bool(self.xaxis_inverted())), auto=None)
所以set_xbound非常类似于用auto=None调用set_xlim,这不会改变自动缩放设置,默认情况下,当你调用set_xlim时,会设置auto=False,禁用自动缩放。这就是为什么边界可能会在以后通过自动缩放来改变,因为默认情况下是自动缩放,除非显式关闭(或通过set_xlim之类的方法隐式关闭)。

相关问题