matplotlib 使用面片在数据上绘制矩形

56lgkhnf  于 2023-10-24  发布在  其他
关注(0)|答案(1)|浏览(111)

我试图在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)
...

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

oyxsuwqo

oyxsuwqo1#

matplotlib.patches.Rectangle允许关键字参数zorder,默认值为1.0。
选择一个以上的zorder应该会把你的矩形带到图像的前景。

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

相关问题