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

如何在Dash生成的Plotly图表中显示当前查询使用的数据库名称

实现方案建议

两种实现方式都可行,你可以根据自己的需求选择:

方案1:修改go.Layout配置

适合需要导出图表时也自带数据源标识的场景,数据库名称会和图表绑定为一体:
你可以在生成图表的函数里,通过布局配置的annotations属性,把数据库名称放在你需要的右上角位置,示例代码如下:

import plotly.graph_objects as go

# 回调中获取选中的数据库名称,假设你拿到的变量为selected_db
selected_db = "你选中的数据库名"
fig = go.Figure(
    data=[], # 替换为你的实际图表数据
    layout=go.Layout(
        title="图表主标题",
        # 右上角添加数据源标识
        annotations=[
            dict(
                x=1, y=1.05,
                xref="paper", yref="paper",
                text=f"数据源:{selected_db}",
                showarrow=False,
                font=dict(size=12, color="#666")
            )
        ]
    )
)

如果觉得加注释麻烦,也可以直接把数据库名称拼接在图表主标题里。

方案2:修改Dash HTML布局

适合仅页面展示、后续可能要调整标识样式的场景,不需要修改图表本身的配置:
首先调整你的content区域结构,在图表容器上方新增一个展示数据源的容器:

content = html.Div(
    [
        # 新增数据源标识容器
        html.Div(
            id="db_source_label",
            style={"textAlign": "right", "marginBottom": "8px", "color": "#666", "fontSize": "14px"}
        ),
        # 原有图表容器保持不变
        html.Div(id="barchart7"),
        html.Div(id="pie7")
    ],
    style=constants.CONTENT_STYLE # 沿用你原来的content样式
)

然后修改生成图表的回调,新增一个输出把数据库名称传入标识容器即可:

@app.callback(
    [Output("barchart7", "children"), Output("db_source_label", "children")],
    [Input("submit_button", "n_clicks")],
    [State(constants.database.id, "value")] # 读取数据库选择控件的选中值
)
def update_chart(n_clicks, selected_db):
    # 原有生成图表的逻辑不变
    fig = 你的图表生成函数(selected_db)
    return dcc.Graph(figure=fig), f"数据源:{selected_db}"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 16:06:04