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

如何修改已有Plotly子图间的垂直/水平间距?

如何修改已有Plotly子图的垂直/水平间距?

你遇到的"Bad property"错误是因为vertical_spacing和horizontal_spacing并不是layout的属性——这两个参数是创建子图时的初始化参数,属于make_subplots()的配置项,不能通过update_layout()来修改。

两种可行的修改方式:

  1. 创建子图时直接指定
    这是最直接的方式,在调用make_subplots()时设置间距参数:

    fig = make_subplots(rows=2, cols=2, vertical_spacing=0.1, horizontal_spacing=0.08)
    
  2. 初始化后修改布局的grid属性
    如果已经创建了子图,想要后续调整间距,可以直接修改fig.layout.grid中的对应属性:

    • 修改垂直间距:fig.layout.grid.vertical_spacing = 0.1
    • 修改水平间距:fig.layout.grid.horizontal_spacing = 0.1

修正后的完整示例代码

import numpy as np
import plotly.graph_objects as go  # 注意这里是复数graph_objects,原代码拼写有误
from plotly.subplots import make_subplots

# 初始化子图
fig = make_subplots(rows=2, cols=2, vertical_spacing=0.05)

# 添加示例子图内容
fig.add_trace(go.Scatter(x=[1,2,3], y=[4,5,6]), row=1, col=1)
fig.add_trace(go.Scatter(x=[1,2,3], y=[6,5,4]), row=1, col=2)
fig.add_trace(go.Scatter(x=[1,2,3], y=[7,8,9]), row=2, col=1)
fig.add_trace(go.Scatter(x=[1,2,3], y=[9,8,7]), row=2, col=2)

# 初始化后调整垂直间距
fig.layout.grid.vertical_spacing = 0.1

fig.show()

注意点:

  • 间距参数的取值范围是0到1,代表间距相对于子图高度(垂直)或宽度(水平)的比例
  • 注意模块拼写:plotly.graph_objects是正确的导入路径,原代码中的graph_object少了复数后缀,会导致导入错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 04:08:18