有没有办法给matplotlib饼图一个zorder?
Is there any way to give matplotlib pie chart a zorder?
我正在使用 matplotlib 饼图:https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.pie.html。
我正在生成一个使用这些饼图的网络图。我在饼图的中间画了一条线来描绘两个不同的过程。我的问题是,当我在中间画这条线时,它会覆盖所有饼图的顶部,所以如果它们重叠,这些线将不会正确分层:
我知道 matplotlib 饼图没有 zorder
,但是有没有办法让它模拟 zorder?这样我就可以使用 zorder
作为线条,然后在该线条的顶部叠加一个饼图以重叠它。
pie()
returns 补丁列表。这些单独的补丁有 zorder
属性,因此您可以遍历它们并调整它们的 zorder
fig,ax = plt.subplots()
ax.set_aspect('equal')
p1,t1 = plt.pie([50,50], center=(0,0))
p2,t2 = plt.pie([1,1,1,1], center=(1.2,0)) # this pie-chart is over the first one
[p.set_zorder(-1) for p in p2] # change the z-order of the patches so that the
# 2nd pie-chart ends up below the first one
我正在使用 matplotlib 饼图:https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.pie.html。
我正在生成一个使用这些饼图的网络图。我在饼图的中间画了一条线来描绘两个不同的过程。我的问题是,当我在中间画这条线时,它会覆盖所有饼图的顶部,所以如果它们重叠,这些线将不会正确分层:
我知道 matplotlib 饼图没有 zorder
,但是有没有办法让它模拟 zorder?这样我就可以使用 zorder
作为线条,然后在该线条的顶部叠加一个饼图以重叠它。
pie()
returns 补丁列表。这些单独的补丁有 zorder
属性,因此您可以遍历它们并调整它们的 zorder
fig,ax = plt.subplots()
ax.set_aspect('equal')
p1,t1 = plt.pie([50,50], center=(0,0))
p2,t2 = plt.pie([1,1,1,1], center=(1.2,0)) # this pie-chart is over the first one
[p.set_zorder(-1) for p in p2] # change the z-order of the patches so that the
# 2nd pie-chart ends up below the first one