使用补丁在数据顶部绘制矩形

KBr*_*ggs 6 python matplotlib

我正在尝试在 中的数据图顶部绘制一个矩形matplotlib。为此,我有这段代码

import matplotlib.patches as patches
import matplotlib.pyplot as pl

...

fig = pl.figure()
ax=fig.add_axes([0,0,1,1])
ax.add_patch(
patches.Rectangle(
        (776820, 5000),   # (x,y)
        3000,          # width
        3500,          # height
        fill=False
    )
)
ax.plot(signal)
ax.plot(fit)
...
Run Code Online (Sandbox Code Playgroud)

然而,当我这样做时,矩形位于数据后面。如果我在绘制实际数据之前或之后添加矩形似乎并不重要。如何确保矩形是图中最上面的元素?

zin*_*aai 12

matplotlib.patches.Rectangle 允许关键字参数zorder默认为 1.0。

选择上面的 zorder 应该会将您的矩形带到图像的前景。

ax.add_patch(
patches.Rectangle(
    (776820, 5000),   # (x,y)
    3000,          # width
    3500,          # height
    fill=False,
    zorder=2
    )
)
Run Code Online (Sandbox Code Playgroud)