我想在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似乎并不重要。如何确保矩形是图中最顶部的元素?
答案 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
)
)