使用 matplotlib 和 patches 在数据上方绘制矩形

6
我正在尝试在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)
...

当我这样做时,矩形框被数据覆盖了。无论我是在绘制实际数据之前还是之后添加矩形框,结果都一样。如何确保矩形框是图形中最上层的元素?
1个回答

11
< p > matplotlib.patches.Rectangle 允许使用关键字参数 zorder ,默认为1.0。

选择高于1的zorder应将矩形置于图像的前景。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接