You need to enable JavaScript to run this app. 如何使用pandas子图(subplots)并排展示饼图(pie chart)和柱状图(bar chart)
优惠活动
大模型
产品
解决方案
定价
更多

如何使用pandas子图(subplots)并排展示饼图(pie chart)和柱状图(bar chart)

解决方案

问题根因

你创建1行2列的子图布局后,绘图时没有为两个图表分别指定对应的子图容器,matplotlib默认会将所有图表绘制到最后生成的子图上,因此出现了图表重叠的异常表现。

调整后代码

import matplotlib.pyplot as plt

# 创建1行2列的子图,可通过figsize调整整体画布大小避免内容重叠
fig, ax = plt.subplots(nrows=1, ncols=2, figsize=(12, 5))

# 提前计算好待绘制的统计数据,避免重复计算
count_data = df['column'].value_counts()

# 饼图指定绘制到第一个子图ax[0],可按需添加显示参数
count_data.plot.pie(
    ax=ax[0], 
    autopct='%1.1f%%',  # 显示扇区百分比
    ylabel=''  # 去掉默认生成的列名标注,更美观
)

# 柱状图指定绘制到第二个子图ax[1]
count_data.plot.bar(
    ax=ax[1],
    rot=0  # 让x轴标签水平展示,避免倾斜影响阅读
)

# 自动调整子图间距,避免标签、标题被截断
plt.tight_layout()

plt.show()

你可以根据自己的需求调整figsize、autopct、rot等参数,适配实际的展示效果。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 20:06:06