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

Plotly:如何实现仅前两行子图共享X轴,第三行X轴独立设置?

Plotly 子图部分共享X轴的简便实现方法

原代码通过shared_xaxes=True实现了3行子图全部共享X轴,但如果想要仅前两行子图共享X轴,第三行X轴独立设置,可以直接在make_subplots中通过更精细的shared_xaxes参数配置实现,无需事后调用update_xaxis修改轴范围。

具体逻辑是:shared_xaxes支持传入二维列表,列表中的布尔值对应每个子图是否与上方的子图共享X轴。针对3行1列的布局:

  • 第1行子图没有上方子图,设为False
  • 第2行子图与第1行共享X轴,设为True
  • 第3行子图不与第2行共享,设为False

完整代码如下:

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

# 前两行共享X轴,第三行独立
fig = make_subplots(rows=3, cols=1,
                    shared_xaxes=[[False], [True], [False]],
                    vertical_spacing=0.02)

fig.add_trace(go.Scatter(x=[0, 1, 2], y=[10, 11, 12]),
              row=3, col=1)

fig.add_trace(go.Scatter(x=[2, 3, 4], y=[100, 110, 120]),
              row=2, col=1)

fig.add_trace(go.Scatter(x=[3, 4, 5], y=[1000, 1100, 1200]),
              row=1, col=1)

fig.show()

这样设置后,前两行子图会自动同步X轴的范围和刻度,第三行子图的X轴则可以完全独立设置,无需额外修改轴属性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 05:43:32