gpt4 book ai didi

python - 如何使用 matplotlib 绘制散点饼图

转载 作者:行者123 更新时间:2023-12-05 00:39:31 25 4
gpt4 key购买 nike

我找到了 drawing scatter pie chat 的代码示例

在此示例中,每个饼图的大小在所有三个散点上都是相同的。我想知道是否可以使每个饼图都独一无二(切片数不同,饼图比例不同)

最佳答案

是的,完全有可能。这是一个在给定位置以给定大小绘制饼图的函数:

def draw_pie(dist, 
xpos,
ypos,
size,
ax=None):
if ax is None:
fig, ax = plt.subplots(figsize=(10,8))

# for incremental pie slices
cumsum = np.cumsum(dist)
cumsum = cumsum/ cumsum[-1]
pie = [0] + cumsum.tolist()

for r1, r2 in zip(pie[:-1], pie[1:]):
angles = np.linspace(2 * np.pi * r1, 2 * np.pi * r2)
x = [0] + np.cos(angles).tolist()
y = [0] + np.sin(angles).tolist()

xy = np.column_stack([x, y])

ax.scatter([xpos], [ypos], marker=xy, s=size)

return ax

使用该函数,我们可以绘制三个饼图:

fig, ax = plt.subplots(figsize=(10,8))
draw_pie([1,2,1],1,1,10000,ax=ax)
draw_pie([2,2,2,2], 2, 1, 20000, ax=ax)
draw_pie([1,1,1,1,1], 1.5,1.5, 30000, ax=ax)
plt.xlim(0.6,2.5)
plt.ylim(0.8, 1.8)
plt.show()

给予:

enter image description here

关于python - 如何使用 matplotlib 绘制散点饼图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56337732/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com