plotly - 减少两个布局组件之间的空间

标签 plotly plotly-dash plotly-python

从屏幕截图中可以看出,下拉菜单和按钮之间有一个巨大的空间。 我希望这个按钮位于下拉菜单旁边。我尝试过造型,但我不想缩小这个巨大的空间。

如何解决这个问题?

屏幕截图:

enter image description here

代码:

    import dash
    import dash_core_components as dcc
    import dash_html_components as html
    from dash.dependencies import Input, Output, State, MATCH, ALL
    import dash_bootstrap_components as dbc
    
    
    app = dash.Dash(__name__, suppress_callback_exceptions=True)
    
    app.layout = html.Div([
        html.Button("Add Filter", id="dynamic-add-filter", n_clicks=0),
        html.Div(id='dynamic-dropdown-container', children=[]),
    ])
    
    @app.callback(
        Output('dynamic-dropdown-container', 'children'),
        [Input('dynamic-add-filter', 'n_clicks')],
        [State('dynamic-dropdown-container', 'children')])
    def display_dropdowns(n_clicks, children):
        new_element = html.Div([
            dcc.Dropdown(
                id={
                    'type': 'dynamic-dropdown',
                    'index': n_clicks
                },
                options=[{'label': i, 'value': i} for i in ['NYC', 'MTL', 'LA', 'TOKYO']],
                style=dict(
                        width='40%',
                        # verticalAlign="middle"
                        # display='flex',
                        float="left",
                    )
            ),
            html.Button('Button 1', id='btn-nclicks-1', n_clicks=0, style={'margin-right': '35em'}),
    
    
            html.Div(
                id={
                    'type': 'dynamic-output',
                    'index': n_clicks
                }
            )
        ])
        children.append(new_element)
        return children
    
    
    @app.callback(
        Output({'type': 'dynamic-output', 'index': MATCH}, 'children'),
        [Input({'type': 'dynamic-dropdown', 'index': MATCH}, 'value')],
        [State({'type': 'dynamic-dropdown', 'index': MATCH}, 'id')],
    )
    def display_output(value, id):
    
        return  html.Div(children=[html.Div([
        html.Div('Dropdown {} = {}'.format(id['index'], value)),
        # html.Button('Button 1', id='btn-nclicks-1', n_clicks=0,  style={'float': 'right'}),
        ])
        ])
    
    
    if __name__ == '__main__':
        app.run_server(debug=True)

最佳答案

将包含下拉列表和按钮的 div 设置为 display='flex' 样式,并将下拉列表的宽度从 40% 更改 code> 到类似 200 的值,所以它不是那么宽。然后按钮就会紧挨着它。在我的机器上确认了这些样式。下拉菜单也不需要 float='left' 样式。

关于plotly - 减少两个布局组件之间的空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62674988/

相关文章:

python - 如何使用 Plotly 和 Pandas 创建卫星样式 map ?

r - 使用 Plotly 在 R 中添加回归平面

r - 将 ggplot 对象转换为 plotly 对象会创建与刻度值重叠的轴标题

python - 从 Raspberry PI 运行时不显示 Dash/Plotly 图表

javascript - 将绘图中的数据保存到 csv 或 excel 文件中

Plotly:具有 'linked' 交互性的多个图

python - 如何在 Python/Plotly 等值线图中放大 map ?

python-3.x - Plotly 散点图趋势线出现在散点下方。如何让趋势线出现在散点图上? [Python]

python - 在 Plotly 中悬停/单击时更改整个迹线的颜色

python - Plotly:如何为每个变量创建具有不同样式和颜色的线图?