matplotlib之您如何将 matplotlib 艺术家放在背景中以在顶部覆盖绘图

tintown 阅读:51 2024-09-07 23:24:14 评论:0

我知道我缺少关于 matplotlib 如何组织图形和绘图的一些非常基本的东西,但我搜索了文档但没有结果。我已将我的问题缩小到一些简单的问题,希望能帮助我更好地理解 matplotlib。

鉴于以下代码:

x_coords = [1,2,3] 
y_coords = [2,3,4] 
labels = ['A','B','C'] 
plt.scatter(x_coords, y_coords, marker = 'o') 
for l, x, y in zip(labels, x_coords, y_coords): 
    plt.annotate(l, xy=(x,y), xytext=(-10,5), textcoords='offset points') 
 
circle = plt.Circle((2,3), 1.5, color='w', ec='k') 
fig = plt.gcf() 
fig.gca().add_artist(circle) 
 
plt.show() 

圆圈绘制在绘制点的标记和标签之间的图层上。如何控制绘制这些元素的图层?

这是用于视觉引用的绘制图像:

simple plot

请您参考如下方法:

首先,circle在您的代码中不是 Figure ,它是一个 Artist ,更具体地说是 Patch .在 matplotlib 中,一个 Figure是顶级Artist其中包含其他元素,因此您的标题有点误导。

其次,您可以通过指定其 zorder 将圆圈放置在其他艺术家的下方。夸格:

circle = plt.Circle((2,3), 1.5, color='w', ec='k', zorder=0) 

最低的艺人 zorder绘制在底层,最高的绘制在顶层。


标签:程序员
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号