【问题标题】:HTML Plotly DashHTML Plotly 破折号
【发布时间】:2021-09-09 12:46:38
【问题描述】:

我找到了一个非常适合仪表板的 HTML 模板。一开始,我想出了如何显示和更新图表。然后,在发布页面时,我遇到了在 Plotly Dash 中构建 HTML 的问题。 HTML结构

<div class="row">
    <div class="col-12">
        <div class="card">
            <div class="card-header">
                <h4 class="card-title">CARD_ONE</h4>
                <a class="heading-elements-toggle"><i class="la la-ellipsis-v font-medium-3"></i></a>
                <div class="heading-elements">
                    <ul class="list-inline mb-0">
                        <li><a data-action="collapse"><i class="ft-minus"></i></a></li>
                        <li><a data-action="expand"><i class="ft-maximize"></i></a></li>
                    </ul>
                </div>
            </div>
            <div class="card-content collapse show">
                <div class="card-body chartjs">
                  !!! dash chart !!!  <canvas id="line-chart" height="500"></canvas>
                </div>
            </div>
        </div>
    </div>
</div>

无法弄清楚 Plotly Dash 中的情节结构。

代码破折号。

def serve_layout():
    return html.Div(
        children=[
            html.H4(children='OWERVIEW'),
            html.Div(id='my-id', className='card', children='''ONE_CARD'''),
            html.Div(className='card-header'),
            html.H4(className="card-title", children='ONE_CARD??'),
            html.Div(className='heading-elements-toggle'),
            html.Div(className='heading-elements'),
            html.Div(className="list-inline mb-0"),
            dcc.Graph(id='example-graph', animate=True, responsive=True),
            dcc.Interval(
                id='interval-component',
                interval=3 * 1000,
                n_intervals=0,
            ),
        ],
    )

代码中的所有组件都是一行行执行的,整个HTML结构不是这样的。

问题:Dash Plotly 代码中的 HTML 结构应该是什么样的?

【问题讨论】:

    标签: python html plotly-dash plotly-python


    【解决方案1】:

    您需要为某些组件添加 ID,它们可以是任何东西。不过,不太确定data-action 部分。总的来说,它应该是这样的:

    def serve_layout():
        return html.Div(className='row', children=[
            html.Div(className='col-12', children=[
                html.Div(className='card', children=[
                    html.Div(className='card-header', children=[
                        html.Div(id='my-id', className='card', children='''ONE_CARD'''),
                        html.A(className='header-elements-toggle', children=html.I(className='la la-ellipsis-v font-medium-3'))
                        html.Div(className='heading-elements', children=[
                            html.Ul(className='list-inline mb-0', children=[
                                html.Li(html.A(html.I(className='ft-minus'))),
                                html.Li(html.A(html.I(className='ft-maximize'))),
                            ]),
                        ]),
                    ]),
                    html.Div(className='card-content collapse show', children=[
                        html.Div(className='card-body chartjs', children=[
                            dcc.Graph(id='example-graph', animate=True, responsive=True),
                            dcc.Interval(
                                id='interval-component',
                                interval=3 * 1000,
                                n_intervals=0,
                            ),
                        ]),
                    ]),
                ]),
            ]),
        ]),
    

    【讨论】:

    • 感谢您的回答,卡需要“data-action”,其结构在我的问题中。卡片有动作:增加或减少。
    • 您可以使用不同的组件来获取展开和折叠卡片。我已经为 Dash 构建了一个作为 this package 的一部分。
    猜你喜欢
    • 1970-01-01
    • 2020-07-06
    • 2016-04-19
    • 1970-01-01
    • 2013-10-09
    • 2019-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多