You need to enable JavaScript to run this app. Plotly分组bin柱状图如何增大组间间隙并为每组设置预设外围空间
优惠活动
大模型
产品
解决方案
定价
更多

Plotly分组bin柱状图如何增大组间间隙并为每组设置预设外围空间

分组柱状图间距调整方案

调整分组bin之间的间距不需要修改原有绘图逻辑,在生成图表后更新布局的两个核心参数即可,可分别实现「组间预留空间」和「单柱周围预留空间」的自定义:

核心参数说明

  • bargap:控制不同x轴分组(即不同bin)之间的预留间隙,取值为0~1的浮点数。参数的含义是:每个x轴类别可分配到的横向宽度中,拿多大比例作为组间的空白间隙。比如默认值为0.2,代表每个类别分配宽度的20%是组间空白,剩下80%用来放置组内的所有柱子;如果设为0.4,组间空白占比会提升一倍,组周围的预留空间自然变大。
  • bargroupgap:控制同一个分组内部、不同颜色子柱之间的间隙,取值为0~1的浮点数。参数含义是:组内所有柱子占用的总宽度中,拿多大比例作为柱间的空白间隙。比如设为0.1,代表组内总柱宽的10%用来做相邻柱子的间隙,90%为实际柱子的绘制宽度,相当于每根柱子两侧都有预留的空白空间。

可直接运行的示例代码

基于提供的基础代码,新增间距配置后的完整实现如下:

import plotly.express as px
df = px.data.tips()
fig = px.bar(df, x="sex", y="total_bill",
             color='smoker', barmode='group',
             height=400)

# 自定义间距配置
fig.update_layout(
    bargap=0.3,    # 调整不同性别组之间的间隙,可按需增大数值
    bargroupgap=0.15  # 调整同组内吸烟/非吸烟两根柱子之间的间隙
)
fig.show()

补充说明

这两个布局参数是全局生效的,对图表内所有分组和柱子统一应用相同的间距规则,不需要改动原有数据绑定逻辑。如果需要更精细的单柱宽度自定义,也可以在更新图表迹的属性时单独指定每根柱子的宽度,但上述两个参数已经可以覆盖绝大多数场景下的间距调整需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.02 10:06:03