python - 如何在 Python 中以 2 行 2 列显示饼图
问题描述
我有一个关于在 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("")
解决方案
这是我的答案
f,a = plt.subplots(2,2,figsize=(8,8))
f.subplots_adjust(wspace = .8)
coursera_df_beginner["course_Certificate_type"].value_counts().plot(kind='pie',
shadow=True,
explode=(0.1, 0, 0),
startangle=90,
autopct='%1.1f%%', ax=a[0,0])
a[0,0].set_title('Beginner Course')
a[0,0].set_ylabel('');
coursera_df_intermediate["course_Certificate_type"].value_counts().plot(kind='pie',
shadow=True,
explode=(0.1, 0, 0),
startangle=90,
autopct='%1.1f%%', ax=a[0,1])
a[0,1].set_title('Intermediate Course')
a[0,1].set_ylabel('');
coursera_df_mixed["course_Certificate_type"].value_counts().plot(kind='pie',
shadow=True,
explode=(0.1,),
startangle=90,
autopct='%1.1f%%',
ax=a[1,0])
a[1,0].set_title('Mixed Course')
a[1,0].set_ylabel('');
coursera_df_advanced["course_Certificate_type"].value_counts().plot(kind='pie',
shadow=True,
explode=(0.1, 0),
startangle=90,
autopct='%1.1f%%',
ax=a[1,1])
a[1,1].set_title('Advanced Course')
a[1,1].set_ylabel('');
推荐阅读
- python - Flask/Jinja2 - 包含相对于当前模板的模板
- bash - docker-compose.yml 传递 arg 以从文件内容构建
- neural-network - GAN 中模式丢弃和模式崩溃之间的区别?
- c++ - 整数序列实现 C++
- java - 如何将 60 个整数存储在要从数据库写入/读取的类中?
- ios - Google Maps iOS Location 位于 MapView 的一角
- javascript - 使用ajax将js变量发送到php文件
- kotlin - 为可以包含自身实例的类自动生成适配器时,项目无法编译
- javascript - 列表中有多少项包含一个单词
- javascript - Node.js 将 html 启动到 localhost:8000,如何在该 html 文件中调用 .mp3/.mp4 文件