Quantcast
Channel: 🎛️ Dash - Plotly Community Forum
Viewing all articles
Browse latest Browse all 6271

Graphing from dictionary of dataframes with multiple dropdowns

$
0
0

@Iceberg_Slim wrote:

I have a dictionary, dict_main, of dataframes that I am trying to plot in Dash. I have two dropdowns that allow the user to select firstly the dataframe from within the dictionary, then secondly the columns within those dataframes. This works well and I now want to put the selected columns into a graph and I can’t seem to get this working. This is my first time using Dash, sorry if this is obvious. So far I have;

rpm = list(dict_main.keys())
channels = dict_main[rpm[0]]

app.layout = html.Div(
    [
        html.Div([
        dcc.Dropdown(
            id='rpm-dropdown',
            options=[{'label':speed, 'value':speed} for speed in rpm],
            value=list(dict_main.keys())[0],
            multi=True,
            searchable=False
            ),
            ],style={'width': '20%', 'display': 'inline-block'}),
        html.Div([
        dcc.Dropdown(
            id='channel-dropdown',
            multi=True
            ),
            ],style={'width': '20%', 'display': 'inline-block'}
        ),
    ]
)

@app.callback(
    dash.dependencies.Output('channel-dropdown', 'options'),
    [dash.dependencies.Input('rpm-dropdown', 'value')]
)
def update_date_dropdown(speed):
    return [{'label': i, 'value': i} for i in dict_main[speed]]


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

I’ve tried this;

html.Div([
    dcc.Graph(
        id='Main-Graph',
        figure=go.Figure(
            data=[
                go.Scatter(
                    x=rpm, y=channels
                )
            ]
        )
    ),
    ], style={'width': '98%', 'display': 'inline-block'}
    )

With a callback of;

@app.callback(
    dash.dependencies.Output('Main-Graph', 'figure'),
    [dash.dependencies.Input('channel-dropdown', 'value')])
def updateGraph(channels):
    return[{'label': i, 'value': i} for i in dict_main[channels]]

This returns a graph that will not update with a change in dropdown selection. It also appears with a table, which is something I didn’t expect. Any help to get this graph working would be really appreciatted. Thanks.

Posts: 2

Participants: 2

Read full topic


Viewing all articles
Browse latest Browse all 6271

Trending Articles