我正在尝试绘制一系列矩形和圆圈,圆圈位于前景中。
根据以下帖子,我必须设置zorder参数: Patches I add to my graph are not opaque with alpha=1. Why?
当我单独绘制所有圆圈时,这种方法很好,但是当我尝试将一系列圆圈放入一个集合并添加该集合时,这种方法就没有了,即
fig,ax=plt.subplots(1)
p_fancy = FancyBboxPatch((1,1),
0.5, 0.5,
boxstyle="round,pad=0.1",
fc='beige',
ec='None', zorder=1)
ax.add_patch(p_fancy)
ax.set_xlim([0,2])
ax.set_ylim([0,2])
circ=patches.Circle ((1,1), 0.2, zorder=10)
ax.add_patch(circ)
fig,ax=plt.subplots(1)
p_fancy = FancyBboxPatch((1,1),
0.5, 0.5,
boxstyle="round,pad=0.1",
fc='beige',
ec='None', zorder=1)
ax.add_patch(p_fancy)
ax.set_xlim([0.,2])
ax.set_ylim([0.,2])
circ=[]
circ.append(patches.Circle ((1,1), 0.2, zorder=10))
coll=PatchCollection(circ)
ax.add_collection(coll)
没有:
答案 0 :(得分:3)
在第二种情况下,您希望PatchCollection
具有已定义的zorder,而不是PatchCollection
的成员。因此,您需要为集合指定zorder。
circ=[]
circ.append(Circle ((1,1), 0.2))
coll=PatchCollection(circ, zorder=10)
ax.add_collection(coll)