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

如何在Plotly/Dash中仅为单个指定子图设置update_layout的边距参数

如何仅为Plotly子图布局中的单个子图设置padding

fig.update_layout中传入的pad属于全局画布配置,会默认应用到所有子图的周边留白,无法直接指定仅作用于单个子图。要实现仅给上方的main折线图子图添加指定padding,可以通过定位子图位置,单独配置对应坐标轴的padding参数实现,具体操作如下:

  • 第一步:移除update_layout中的全局pad=20配置,避免该参数作用到所有子图
  • 第二步:调用update_xaxes和update_yaxes方法,通过row和col参数定位到第1行第1列的main子图,单独设置该子图的padding

对应代码示例:

# 全局配置保留高度和画布边距,移除全局pad参数
fig.update_layout(height=400, margin=dict(t=30, b=15, l=15))

# 仅给第1行第1列的main子图设置20的padding
fig.update_xaxes(pad=20, row=1, col=1)
fig.update_yaxes(pad=20, row=1, col=1)

如果你的需求是调整两个子图之间的垂直间距,也可以在初始化子图时通过vertical_spacing参数控制,示例:

from plotly.subplots import make_subplots
# 初始化2行1列布局时,自定义上下子图的垂直间距
fig = make_subplots(rows=2, cols=1, vertical_spacing=0.15)

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

相关产品推荐
方舟 Agent Plan

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

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