在轴限制之外创建一个矩形

时间:2018-12-03 14:22:53

标签: python matplotlib rectangles axes

我要使用python在我拥有的图形上放置一个小方块。我正在尝试使用matplotlib.patches.Rectangle做到这一点。

我的问题是我希望它出现在图形的轴外。因此,假设我的y轴从0到100,我希望我的正方形显示为110。

但是目前,我创建了一个矩形(实际上有多个矩形),然后创建了一个PatchCollection对象,最后将其添加到轴中:

ax.add_collection(my_collection)。

因此,因为这是一个轴对象,所以要求矩形出现在轴范围之外是没有意义的。代码可以运行,但是矩形永远不会可见(或者,如果我希望矩形出现在y轴(例如95)上,也许我只能看到它们的边缘):

enter image description here

如何放置将出现在轴外的矩形。我是否必须创建另一组轴或类似的东西?

1 个答案:

答案 0 :(得分:1)

使用addpatch

ax.add_patch(patches.Rectangle((xpos, ypos), width, height,
                               facecolor='green', clip_on=False))

并将xpos,ypos,宽度和高度设置为所需的值