如何在 Dash 中编写应用程序布局,使两个图形并排?

use*_*437 6 python plotly plotly-dash

我想在 Dash by Plotly 中并排绘制两个图表(而不是一个在另一个上方)。教程没有并排绘制图形的示例。

我正在app.layout用以下方式编写

app.layout = html.Div(className = 'row', children=

    [
        html.H1("Tips database analysis (First dashboard)"),
        dcc.Dropdown(id='d',
                     options = col_options,
                    value = 'Sun'),
        dcc.Graph(id="graph1"),
        dcc.Graph(id="graph2")
    ]

)
Run Code Online (Sandbox Code Playgroud)

但在这之后graph1出现在上面graph2而不是并排

nca*_*ale 8

您可以通过将图形包装在 a 中并向每个图形div添加display: inline-blockcss 属性来实现这一点。

app.layout = html.Div(className='row', children=[
    html.H1("Tips database analysis (First dashboard)"),
    dcc.Dropdown(),
    html.Div(children=[
        dcc.Graph(id="graph1", style={'display': 'inline-block'}),
        dcc.Graph(id="graph2", style={'display': 'inline-block'})
    ])
])
Run Code Online (Sandbox Code Playgroud)

结果并排图表

编辑

display: flex从包装 div 中删除了该属性,而是将该display: inline-block属性添加到每个图形中。这使得第二个图形不会被截断,而是会在较小的屏幕上堆叠。

  • 这确实有效,谢谢!但是这种方式不会让图形占据屏幕上的整个空间,因为我在屏幕右侧仍然有一些空间,知道如何纠正它以便图形使用所有可用空间吗? (3认同)