Python 有没有办法告诉matplotlib松开打印数据的缩放?

Python 有没有办法告诉matplotlib松开打印数据的缩放?,python,matplotlib,Python,Matplotlib,我绘制了一些数据,其中包括每个子图上的一些限制:两个轴都有限制,但由于数据非常适合第二个图上的限制,限制本身设置了y轴的边界,使它们不可见 为了让它们可见,我可以这样做: axes.set_ylim(1.1*下限,1.1*上限) 其中lowerLimit和upperLimit是用于生成限制的数据,但我想知道matplotlib是否有一种机制,可以告诉它在自动设置限制时不要那么热心。我现在的解决方案也有一个限制,即如果数据偏离边界,就有可能超出行,因此我搜索了一个对set_ylim()的补充,它会

我绘制了一些数据,其中包括每个子图上的一些限制:两个轴都有限制,但由于数据非常适合第二个图上的限制,限制本身设置了y轴的边界,使它们不可见

为了让它们可见,我可以这样做:

axes.set_ylim(1.1*下限,1.1*上限)

其中
lowerLimit
upperLimit
是用于生成限制的数据,但我想知道matplotlib是否有一种机制,可以告诉它在自动设置限制时不要那么热心。我现在的解决方案也有一个限制,即如果数据偏离边界,就有可能超出行,因此我搜索了一个对
set_ylim()
的补充,它会告诉我限制是什么,比如
get_ylim()
,但它似乎不存在于


感谢您的帮助。

关于您请求的更改y轴限制的功能,这是否符合您的目的

def larger_axlim( axlim ):
    """ argument axlim expects 2-tuple 
        returns slightly larger 2-tuple """
    axmin,axmax = axlim
    axrng = axmax - axmin
    new_min = axmin - 0.1 * axrng
    new_max = axmax + 0.1 * axrng
    return new_min,new_max
...
ax.set_ylim( larger_axlim( ax.get_ylim() ) )
...

文档:

虽然没有文档记录,但我尝试了
get_ylim()
,它成功了,因此我能够扩大限制并使用
set_ylim()
重新应用它们,因此我现在有了一个不错的解决方法,但如果有更好的方法,那就太好了。我想我可以编写一个小函数,它可以对我传递给它的任何轴集执行此操作!我找错地方了,老轴线和轴线的混淆。显然,我需要花更多的时间来理解这些区别。我经常遇到这个问题。我希望能够为所有绘图设置一些默认百分比保证金。有办法吗?@tcaswell,选择哪个问题是原始问题,哪个问题是重复问题的标准是什么?这个问题似乎比另一个问题提前了一年多。这将以最优雅的方式取代内置功能。如果ymin为0怎么办?你真的不想要类似于
ymin-0.1*(ymax-ymin)
的东西吗?谢谢你,endolith。我采纳了你的建议。这就是
margins
存在的目的有一个
margins
属性可以应用于自动缩放吗?我们可以修改哪个
margins
属性以使自动缩放在数据周围留有边距?谢谢