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

如何调整Plotly make_subplots子图标题以避免与X轴重叠?

解决Plotly子图标题与X轴重叠的问题

针对你遇到的子图标题和顶部X轴重叠的问题,给你几个实用的调整方案:

方案1:增大子图垂直间距

在make_subplots中调大vertical_spacing参数,给子图标题和X轴留出更多空间。数值可以根据子图数量、字体大小灵活调整,比如把原来的0.1改成0.15:

fig = ps.make_subplots(
    rows=math.ceil(len(list(x_axis_groups)) / 3),
    cols=3,
    subplot_titles=[name for name, _ in x_axis_groups],
    horizontal_spacing=0.025,
    vertical_spacing=0.15,  # 调大垂直间距
)

方案2:调整子图标题的位置

子图标题本质是Plotly的注释(annotations),可以通过update_annotations统一调整它们的垂直位置,让标题向上偏移:

# 数值越大,标题位置越靠上,可根据实际效果微调
fig.update_annotations(y=1.05)

如果需要更精细的控制,也可以按行单独调整每个子图标题的位置:

for i, anno in enumerate(fig.layout.annotations):
    # 按行偏移,避免不同行的子图标题位置不一致
    fig.layout.annotations[i].y = 1.06 + (i//3)*0.01

方案3:统一设置所有子图的X轴参数

你当前只配置了第一个子图的X轴,其余子图的X轴需要用update_xaxes批量设置,同时可以给X轴添加顶部边距:

fig.update_xaxes(
    range=[1, 12],
    side="top",
    dtick=1,
    title_standoff=10  # 若X轴有标题,增加标题与刻度的间距
)
fig.update_yaxes(autorange="reversed")  # 统一设置所有子图的Y轴

方案4:适当减小字体大小

当前设置的18号字体偏大,会加剧重叠问题,可以适当缩小:

fig.update_layout(
    showlegend=False,
    title_text='Total PF reads per plate',
    font=dict(size=16),  # 减小字体大小
)

你可以根据实际展示效果组合这些方案,比如同时增大垂直间距+调整标题位置,基本就能解决重叠问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 01:20:21