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

DataFrame.plot绘制水平堆叠条形图时xlabel显示在y轴的解决方法

水平堆叠条形图轴标签设置问题

问题

使用pandas绘制水平堆叠条形图时,设置的xlabel参数文本出现在了视觉上的y轴位置,改为ylabel也无法正确对应到目标轴:

ax = df.plot(
    kind="barh",
    stacked=True,
    width=0.9,
    figsize=(10, 11),
    colormap="RdYlGn",
    xlabel='% Respondents'
);

解决方法

这是因为pandas的plot方法在绘制水平条形图(barh)时,逻辑轴和视觉轴存在映射混淆,直接通过返回的Axes对象设置标签是最可靠的方式:

  • 直接调用Axes对象的set_xlabel()和set_ylabel()方法
ax = df.plot(
    kind="barh",
    stacked=True,
    width=0.9,
    figsize=(10, 11),
    colormap="RdYlGn"
);
# 设置视觉上的水平轴(x轴)标签
ax.set_xlabel('% Respondents')
# 若需要设置视觉上的垂直轴(y轴)标签,使用:
# ax.set_ylabel('你的y轴名称')

如果一定要在plot方法内设置,需要注意:barh模式下,pandas的ylabel参数对应视觉上的x轴,xlabel对应视觉上的y轴,但这种方式容易混淆,更推荐用Axes对象的方法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 19:15:56