【问题标题】:Matplotlib patches - position rectangle flush with figure frameMatplotlib 补丁 - 位置矩形与图框齐平
【发布时间】:2021-09-28 17:55:23
【问题描述】:

我创建了几个矩形来添加到图形中,如下所示:

rectangle1 = patches.Rectangle((-.5,.3), 1, .9, ec=None, fc=(0,0,0,.7), zorder=0, clip_on=False, in_layout=False)

我希望这个矩形与左侧垂直框架脊椎/边缘(它是)以及顶部和底部框架边缘(它不是)齐平。相反,当我将矩形的大小增加到超过第一个或最后一个 ytick 时,整个图形框架的垂直尺寸会增加,就像有某种不可见的边距阻止矩形到达顶部和底部边缘.我认为将 clip_onin_layout 都设置为 False 可以解决此问题,但没有这样的运气。

我错过了什么?谢谢

添加的图像:在左侧的子图中,如果我将矩形的大小增加到最上面的 ytick 之外,图框会发生什么情况。在右侧子图中,矩形开始扩展图形框架之前的最大尺寸。

【问题讨论】:

    标签: python matplotlib patch


    【解决方案1】:

    您需要使用set_ylim 来设置y 轴的限制。

    应用于轴对象。如果您的代码中没有轴对象,您可以使用get_axes 找到它们; get_axesfigure 的方法之一。

    因此,为图形上所有轴设置 y 限制的代码可能类似于

    for ax_ in gcf().get_axes():
      ax_.set_ylim(0, 1.2)
    

    【讨论】:

    • 太好了,解决了。谢谢尤利亚。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-26
    • 1970-01-01
    • 1970-01-01
    • 2018-04-24
    • 2011-06-03
    相关资源
    最近更新 更多