当我们绘制曲线时,matplotlib 会自动为最小值和最大值添加一些偏移量。 matplotlib 如何计算这个“偏移量”?
例如
plt.plot(range(0,10))
plt.ylim()
给出 y
限制 (-0.45, 9.45)
。
而
plt.plot(np.array(range(1,10))/100)
plt.ylim()
给出 y
限制 (0.006, 0.094)
。
毫不奇怪,当我设置轴时
plt.plot(range(0,10))
plt.ylim(0,9)
plt.ylim()
我得到 (0.0, 9.0)
。
我经常想设置限制,但仍然希望限制有一些余量,例如当限制在一条线上时,该线应该很好地显示。
当然,我可以在设置 y
限制时添加一些分数,但这总是需要一些调整。我想知道是否有更聪明的方法来做到这一点。
最佳答案
根据@DavidG 的评论,我们使用边距 plt.margins()
或 ax.margins()
添加正确的数量。
以问题中给出的例子为例:
d = range(0, 10)
plt.plot(d)
ymarg = (max(d) - min(d)) * plt.margins()[1]
plt.ylim(min(d) - ymarg, max(d) + ymarg)
plt.ylim()
返回 (-0.45, 9.45)
。
关于python - matplotlib 如何计算最小/最大轴值?或者如何在设置限制时自动添加 matplotlib 边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66103794/