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

Plotly奇数个子图布局调整:将底部子图居中对齐

解决方法

直接用make_subplots的specs参数就能实现,关键是让第二行第一个位置留空,把两个子图放到该行的第2、3列,再微调间距即可:

import plotly.graph_objects as go
from plotly.subplots import make_subplots

# 用specs定义布局:第一行3个子图,第二行第一个位置空着,后两个放子图
fig = make_subplots(rows=2, cols=3,
                    shared_yaxes=True,
                    horizontal_spacing=0.05,
                    specs=[[{}, {}, {}],
                           [None, {}, {}]])

# 第一行子图位置不变
fig.add_scatter(x=[1,2,3],y=[1,2,3], row=1, col=1)
fig.add_scatter(x=[1,2,3],y=[1,2,3], row=1, col=2)
fig.add_scatter(x=[1,2,3],y=[1,2,3], row=1, col=3)

# 第二行子图移到第2、3列,实现居中
fig.add_scatter(x=[1,2,3],y=[1,2,3], row=2, col=2)
fig.add_scatter(x=[1,2,3],y=[1,2,3], row=2, col=3)

fig.update_layout(showlegend=False)
fig.show()

说明

  • specs是二维列表,其中None代表对应位置不生成子图,直接留空;{}代表创建默认配置的子图。
  • 调整horizontal_spacing可以让子图间距更自然,避免居中后显得拥挤或松散。
  • 把第二行的子图从原来的第1、2列改到第2、3列,配合第一列的空位置,就能让这两个子图正好处于第二行的中间区域。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 06:33:11