使用matplotlib和补丁在数据上绘制矩形

时间:2018-04-11 14:28:41

标签: 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)
...

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

1 个答案:

答案 0 :(得分:1)

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
    )
)