首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带有标注线的网格仪表板

带有标注线的网格仪表板
EN

Stack Overflow用户
提问于 2020-02-19 19:26:02
回答 1查看 8.9K关注 0票数 2

我正在尝试使用Dash from Plotly构建一个仪表板,该仪表板由一系列瓦片(文本)组成,如下图所示。

我正在尝试构建一个组件以重用它,并构建下面的布局。每个框包含一个标题、一个值和一个描述,如下所示。

是否有可用的组件?有没有人能帮我写一些基本的想法/代码?

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-19 20:54:58

我推荐你去Dash Bootstrap Components (dbc)。

您可以使用嵌套在dbc.Row (行)组件中的dbc.Col (列)组件来生成您的布局。你可以在here上查看它们。

然后对于我将称之为“卡片”的实际“卡片”,您可以使用dbc.Card组件。这是link

下面是一些复制布局的示例代码:

代码语言:javascript
运行
复制
import dash_bootstrap_components as dbc
import dash_html_components as html

card = dbc.Card(
    dbc.CardBody(
        [
            html.H4("Title", id="card-title"),
            html.H2("100", id="card-value"),
            html.P("Description", id="card-description")
        ]
    )
)

layout = html.Div([
    dbc.Row([
        dbc.Col([card]), dbc.Col([card]), dbc.Col([card]), dbc.Col([card]), dbc.Col([card])
    ]),
    dbc.Row([
        dbc.Col([card]), dbc.Col([card]), dbc.Col([card]), dbc.Col([card])
    ]),
    dbc.Row([
        dbc.Col([card]), dbc.Col([card])
    ])
])

最好的办法可能是有一个函数来创建那些带有ids、标题和描述参数的卡片,以省去创建不同卡片的麻烦:

代码语言:javascript
运行
复制
def create_card(card_id, title, description):
    return dbc.Card(
        dbc.CardBody(
            [
                html.H4(title, id=f"{card_id}-title"),
                html.H2("100", id=f"{card_id}-value"),
                html.P(description, id=f"{card_id}-description")
            ]
        )
    )

然后,您可以随心所欲地用create_card('id', 'Title', 'Description')替换每个card

另一个快速提示是col组件有一个参数width。您可以为一行中的每一列指定不同的值,以调整相对宽度。你可以在我上面链接的文档中了解更多。

希望这能帮上忙

奥利

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60299299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档