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

如何将Plotly柱状图与表格合并为一张图像

实现Plotly柱状图+表格上下组合的简单方案

别发愁,其实不用纠结子图的限制,我们可以通过布局的domain参数来手动分配柱状图和表格的垂直空间,轻松实现上下排布的效果。下面是针对你现有代码的完整适配示例:

完整代码示例

import plotly.graph_objects as go

# --- 替换成你的实际数据 ---
# 你的原有柱状图数据(chart_matrix)
chart_matrix = [go.Bar(x=["产品A", "产品B", "产品C"], y=[45, 62, 38])]
# 你的原有表格表头与数据
table_title = ["产品名称", "销量"]
sorted_matrix = [["产品A", "产品B", "产品C"], [45, 62, 38]]

# --- 组合两者到同一个Figure ---
# 直接把柱状图trace和表格trace合并进同一个数据列表
fig = go.Figure(data=chart_matrix + [
    go.Table(
        type='table',
        header=dict(values=table_title),
        cells=dict(values=sorted_matrix)
    )
])

# --- 核心:设置布局分配垂直空间 ---
fig.update_layout(
    height=650,  # 整体图形高度,可根据表格行数调整
    yaxis=dict(
        domain=[0.3, 1]  # 柱状图占据垂直方向30%到100%的区域
    ),
    margin=dict(l=40, r=40, t=40, b=40),  # 调整边距让内容更舒展
    title="产品销量统计(柱状图+表格)"
)

# 展示最终图形
fig.show()

关键逻辑说明

  1. 合并Trace:不用单独创建两个Figure,直接把柱状图的trace(你的chart_matrix)和表格trace放进同一个go.Figure的data参数里即可。
  2. Domain分配空间:yaxis.domain=[0.3, 1]表示柱状图占用从图形30%高度位置到顶部的区域,剩下的0到30%高度会自动留给表格,表格会自适应这个空间。
  3. 高度适配:如果表格行数较多,只需调大height参数,避免内容被截断。

这样就能完美实现你想要的“柱状图在上,表格在下”的组合效果啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:51:58