You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pandas中绘制多个饼图?现有代码合并显示问题求解

解决方案

问题出在你的循环代码没有为每个分类变量创建独立的绘图画布,Matplotlib默认会在当前活动的绘图区域叠加绘制,导致所有饼图挤在同一个图表里。

步骤1:正确筛选分类变量

首先确保你正确获取了数据框中的分类变量(通常是object或category类型):

# 提取分类变量列
cat_var = census.select_dtypes(include=['object', 'category']).columns.tolist()

步骤2:修改循环代码,生成独立饼图

在循环中每次创建新的绘图画布,确保每个分类变量的饼图单独显示:

import matplotlib.pyplot as plt

for item in cat_var:
    # 为每个变量创建新画布
    plt.figure(figsize=(10,10))
    # 绘制饼图
    census[item].value_counts().plot.pie(fontsize=10, autopct="%.1f")
    # 设置饼图为正圆形
    plt.gca().set_aspect('equal')
    # 添加变量名称作为标题,方便区分
    plt.title(f'{item} 分布饼图', fontsize=12)
    # 显示当前饼图
    plt.show()

关键说明

  • plt.figure():每次循环创建新的绘图窗口/画布,避免后续绘图覆盖之前的内容。
  • plt.show():在Jupyter环境或本地脚本中,强制显示当前画布的内容,确保每个饼图独立呈现。

内容的提问来源于stack exchange,提问作者Hana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 16:15:31