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

如何使用matplotlib或seaborn基于pandas Series绘制堆叠柱状图

问题原因

你当前通过分组得到的s1是一维Series,仅包含一列数值、行索引为两种还款状态。堆叠柱状图要求数据至少具备两个维度:每一行对应X轴的一个分类,每一列对应一个需要堆叠的数值系列,一维数据自然无法生成堆叠效果,只会渲染为两个并列的独立柱子。

解决方法

如果你需要将两种还款状态的贷款数堆叠为单个柱子,只需将一维Series转换为一行多列的DataFrame即可,参考代码:

# 将Series转换为DataFrame后转置,得到一行两列的结构
s1_stacked = s1.to_frame().T
# 绘制堆叠柱状图
s1_stacked.plot.bar(stacked=True)

扩展场景

如果你需要按其他维度(比如贷款等级、申请年份等)分组,在每个分组下展示还款状态的堆叠分布,可以调整groupby逻辑,分组后通过unstack生成多列结构:

# 示例:按贷款等级+还款状态双维度分组,生成每行对应一个等级、每列对应还款状态的DataFrame
s2 = df_sort.groupby(['grade', 'loan_status'])['count_loans'].sum().unstack()
s2.plot.bar(stacked=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 16:57:03