Как сохранить график da sh Ввод как глобальная переменная - PullRequest
0 голосов
/ 14 января 2020

Я создаю панель мониторинга с помощью Plotly Da sh, которая требует, чтобы данные были отфильтрованы по дате (ползунки не работают, поскольку некоторые диаграммы являются категориальными).

Я хотел бы разрешить пользователю вводить дату, которую я бы затем использовал в качестве глобальной переменной. Я импортирую эту глобальную переменную, чтобы отфильтровать свои кадры данных в других python файлах, а затем создаю диаграммы. Моя попытка ниже не работает; переменная start_date не обновляется.

app = dash.Dash()

app.layout = html.Div([
    dcc.Input(id='date', value='start date (yyyy-mm-dd)', type='text'),
    html.Button(id='submit-button', type='submit', children='Submit'),
    html.Div(id='output_div')
])

start_date = 0

@app.callback(Output('output_div', 'children'),
                [Input('submit-button', 'n_clicks')],
                [State('date', 'value')],
                )
def update_output(clicks, input_value):
    if clicks:
        print(clicks, input_value)
        global start_date
        start_date = datetime.strptime(input_value, '%Y-%m-%d').date()
        return start_date
        print(type(start_date))


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

1 Ответ

0 голосов
/ 14 января 2020

Я не уверен в том, какова ваша конечная цель, но вы можете инициализировать пустой и скрытый html.Div(...), а затем использовать его для хранения ввода из обратного вызова. После этого вы сможете получить к нему доступ с любого другого обратного вызова.

...