如何在Python的2行2列中显示饼图

问题描述 投票:0回答:1

我在2行和2列中显示饼图时遇到问题。它们列在一栏中。

如何解决此问题?

这是我的代码段,如下所示。

plt.figure(figsize = (8,8))
ax1 = plt.subplot(2,2,1)
coursera_df_beginner["course_Certificate_type"].value_counts().plot(kind='pie',shadow=True, explode=(0.1, 0, 0), startangle=90,autopct='%1.1f%%', ax=ax1)
plt.title('Difficulty in Courses')
plt.ylabel("")

plt.figure(figsize = (8,8))
ax2 = plt.subplot(2,2,2)
coursera_df_intermediate["course_Certificate_type"].value_counts().plot(kind='pie',shadow=True, explode=(0.1, 0, 0), startangle=90,autopct='%1.1f%%', ax=ax2)
plt.title('Difficulty in Courses')
plt.ylabel("")

plt.figure(figsize = (8,8))
ax3 = plt.subplot(2,2,3)
coursera_df_mixed["course_Certificate_type"].value_counts().plot(kind='pie',shadow=True, explode=(0.1,), startangle=90,autopct='%1.1f%%', ax=ax3)
plt.title('Difficulty in Courses')
plt.ylabel("")

plt.figure(figsize = (8,8))
ax4 = plt.subplot(2,2,4)
coursera_df_advanced["course_Certificate_type"].value_counts().plot(kind='pie',shadow=True, explode=(0.1, 0), startangle=90,autopct='%1.1f%%', ax=ax4)
plt.title('Difficulty in Courses')
plt.ylabel("")
python pandas pie-chart
1个回答
0
投票

您可以创建一个子图数组:

图,轴= plt.subplots(图大小=(8,8))

df_list = [coursera_df_beginner, coursera_df_intemediate, ...]  # fill the rest here

for ax, d in zip(axes.ravel(), df_list):
    (d["course_Certificate_type"].value_counts()
        .plot(kind='pie',shadow=True, explode=(0.1, 0, 0), 
              startangle=90,autopct='%1.1f%%', ax=ax)     # pass ax here
    )

    ax.set_titlte('...')
© www.soinside.com 2019 - 2024. All rights reserved.