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

如何不使用Dash将两个Plotly生成的表格相邻并排摆放

无需使用Dash实现两个不同尺寸Plotly表格并排摆放的方法

方法1:使用Plotly原生子图模块(最便捷)

  • 调用plotly.subplots的make_subplots方法创建1行2列的子图布局,通过column_widths参数自定义两列宽度比例,适配两个表格的不同尺寸
  • 分别将已生成的两个表格的trace对象,通过add_trace方法添加到对应行列的子图位置
  • 调整整体布局的边距、高度等参数后即可直接渲染展示

示例代码:

from plotly.subplots import make_subplots
import plotly.figure_factory as ff

# 替换为你自己的两个表格生成代码
table1 = ff.create_table([["列1", "列2"], ["数据1", "数据2"]])
table2 = ff.create_table([["字段A", "字段B", "字段C"], ["值1", "值2", "值3"], ["值4", "值5", "值6"]])

# 设置1行2列布局,自定义两列宽度占比,适配不同尺寸的表格
combined_fig = make_subplots(
    rows=1,
    cols=2,
    column_widths=[0.3, 0.7], # 按需调整比例适配两个表格的宽度
    specs=[[{"type": "table"}, {"type": "table"}]]
)

# 添加两个表格到对应位置
combined_fig.add_trace(table1.data[0], row=1, col=1)
combined_fig.add_trace(table2.data[0], row=1, col=2)

# 调整布局避免内容挤压
combined_fig.update_layout(
    height=350,
    margin=dict(l=10, r=10, t=10, b=10)
)

combined_fig.show()

方法2:HTML拼接方案(适合静态导出场景)

如果只需要输出静态HTML文件,不需要交互调整,可以用纯HTML排版实现:

  • 分别调用两个表格对象的to_html(full_html=False)方法,获取不含完整HTML结构的表格片段
  • 给两个表格片段分别包裹设置了display: inline-block; width: 适配宽度的div容器,拼接后保存为HTML文件即可

注意事项

如果两个表格的行数差异较大导致垂直方向错位,可以通过子图的yaxis.domain参数调整单个子图的垂直显示范围,实现对齐效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 09:57:01