如何使用 python 修改 Dash 中的布局

How to modify layout in Dash with python

我在 python 中使用破折号 我想制作如下图所示的布局,其中所有内容都适合 1 页或 1 1/2 页,我尝试通过编写以下代码来实现它,但我无法得到它。因为我无法更改布局中列的大小,我们将不胜感激。谢谢你。

我说的仪表图就是这个。 https://plotly.com/python/bullet-charts/

import dash
import dash_bootstrap_components as dbc
import dash_core_components as dcc
import dash_html_components as html

global Mode

external_stylesheets = [dbc.themes.BOOTSTRAP, 'https://codepen.io/chriddyp/pen/bWLwgP.css']
app = dash.Dash(__name__, suppress_callback_exceptions=True, external_stylesheets=external_stylesheets)

app.layout = html.Div([html.Div([
    dbc.Card(
        dbc.CardBody([
            dbc.Row([
                dbc.Col([
                    dbc.Row([dcc.Graph(id='plot1', style={'text-align': 'left', 'display': 'inline-block',
                                                          'background-color': 'black', 'width': '100vh',
                                                          'height': '28vh'}, ), ], style={'height': '20vh'}),
                    dbc.Row([dcc.Graph(id='plot2', style={'text-align': 'left', 'display': 'inline-block',
                                                          'background-color': 'black', }, )],
                            style={'width': '10vh', 'height': '30vh'}),
                    dbc.Row([dcc.Graph(id='plot3', style={'text-align': 'left', 'display': 'inline-block',
                                                          'background-color': 'black', }, )],
                            style={'width': '10vh', 'height': '30vh'})
                ], style={
                    'align': 'left',
                }),
                dbc.Col([dbc.Col([dcc.Graph(id='plot4', style={'text-align': 'left', 'display': 'inline-block',
                                                               'background-color': 'black'})], )], style={
                    'align': 'left',
                }),
                dbc.Col([
                    dcc.Graph(id='plot5',
                              style={'text-align': 'left', 'display': 'inline-block', 'background-color': 'black'}),
                ]),

            ]),
            dbc.Row([
                dbc.Col([dcc.Graph(id='plot6', style={'text-align': 'left', 'display': 'inline-block',
                                                      'background-color': 'black'}), ]),
                dbc.Col([dcc.Graph(id='plot7', style={'text-align': 'left', 'display': 'inline-block',
                                                      'background-color': 'black'}), ]),
                dbc.Col([dcc.Graph(id='plot9',
                                   style={'text-align': 'left', 'display': 'inline-block', 'background-color': 'black',
                                          'width': '110vh', 'height': '30vh'})]),
            ], ),
            dbc.Row([
                dbc.Col([dcc.Graph(id='plot10', style={'display': 'inline-block', 'width': '70vh', 'height': '40vh'}),
                         ]),

                dbc.Col([dcc.Graph(id='plot12',
                                   style={'display': 'inline-block', 'width': '50vh', 'height': '40vh',
                                          'marginLeft': '7%', }),
                         ]),
            ]),
        ])),
])
])

if __name__ == '__main__':
    app.run_server(debug=True)

我猜你必须做 3 行,每行 2 列,然后向它们添加行,如下所示。

  • 第 1 行
    • 第 1 列
      • 第 1 行 - 图 1
      • 第 2 行 - 图 2
      • 第 3 行 - 图 3
    • 第二列
      • 第 1 行 - 图 4
  • 第 2 行
    • 第 1 列
      • 第 4 行 - 图 5
      • 第 5 行 - 图 6
      • 第 6 行 - 图 7
    • 第二栏
      • 第 1 行 - 图 4
  • 第 3 行
    • 第 1 列
      • 第 7 行 - 图 9
    • 第二列
      • 第 3 行 - 图 10

不确定我是否正确理解了您的要求。