首页 > 解决方案 > 在一个图中创建 3 个熊猫系列作为饼图

问题描述

我正在设置一个图形来显示 3 个饼图。图表数据来自 3 个独立的 pandas 系列。我想我可以将系列合并到一个 df 并通过该 df 创建子图,但我怀疑它是否需要。

我当前的代码生成 3 个饼图。但它们都重叠。我很困惑如何安排它们。

S19E_sj = (BDdf.loc[BDdf['GRPCODE'] == 'SJ3219'])['Result'].value_counts()
S19E_ge = (BDdf.loc[BDdf['GRPCODE'] == 'G1932'])['Result'].value_counts()
S19E_jl = (BDdf.loc[BDdf['GRPCODE'] == 'JLG1930'])['Result'].value_counts()

fig, ax = plt.subplots(figsize = (8,6))
S19E_sj.plot.pie()
S19E_ge.plot.pie()
S19E_jl.plot.pie()

标签: python-3.xpandasmatplotlib

解决方案


尽管您未能提供最小、完整和可验证的示例,但您可以尝试类似的方法。创建一个包含 3 个连续排列的子图的图形,然后将它们分别分配给您的三个饼图命令

fig, axes = plt.subplots(1, 3, figsize = (8,6))
S19E_sj.plot.pie(ax=axes[0])
S19E_ge.plot.pie(ax=axes[1])
S19E_jl.plot.pie(ax=axes[2])

plt.tight_layout()
plt.show()

推荐阅读