我在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("")
您可以创建一个子图数组:
图,轴= 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('...')