Тире живой график не обновляет

Я пишу простое приложение с Dash, и у меня есть проблема с созданием живого графика. Я сделал две вкладки и хочу отобразить живой график на одной из них. Я сделал index.py файл с базовой версткой:

app.layout = html.Div(
    [
    #header
    html.Div([
        html.Span("Automation for Binance", className='app-title'),

    ],
    className='row header',
    ),
    html.Div([

            dcc.Tabs(
                id="tabs",
                style={"height":"20","verticalAlign":"middle"},
                children=[
                    dcc.Tab(label="Analysis", value="analysis_tab"),
                    dcc.Tab(label="Settings", value="settings_tab"),
                ],
                value="analysis_tab",
            )

            ],
            className="row tabs_div"
            ),

    html.Div(id="tab_content", className="row", style={"margin": "2% 3%"}),
    ])


@app.callback(Output("tab_content", "children"), [Input("tabs", "value")])
def render_content(tab):
    if tab == "analysis_tab":
        return analysis.layout
    elif tab == "settings_tab":
        return html.Div([
            html.H3('Tab content 1')
        ])
    else:
        return analysis.layout

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

В том же каталоге, что и index.py Я сделал папку приложений с __init__.py и 2 файла для каждой вкладки в качестве внешних приложений, вот мой файл для первой вкладки:

colors = {
    'background': '#111111',
    'text': '#7FDBFF'
}

def candlestick_chart(df):
    trace = go.Candlestick(x=df.Date,
                       open=df.Open,
                       high=df.High,
                       low=df.Low,
                       close=df.Close)

    layout = go.layout(
        xaxis=dict(range=[df.Date[-30], df.Date[-1]]),
        plot_bgcolor=colors['background'],
        paper_bgcolor=colors['background'],
        font=dict(color=colors['text']),
    )

    return {'data':[trace], 'layout': layout,}


layout = [
    html.Div([
        html.Div(
            dcc.Graph(
                id="price-graph",
                style={"height": "90%", "width": "98%"},
            ),
            dcc.Interval(
                id="graph-update",
                interval=4000,
            )
        )
    ])
]

@app.callback(Output('price-graph', 'figure'),
            events=[Event('graph-update', 'interval')])
def update_graph(df):
    df = manager.get_candles('BTCUSDT', '1m')
    return candlestick_chart(df)

Теперь моя проблема в том, что когда я запускаю свое приложение, все, что я получаю, это пустой график свечи без данных. И в консоли я даже не вижу автоматического обновления ответов POST. Когда я пытался составить "тестовую диаграмму" без вкладок, просто один файл и обратный вызов, все работало отлично, теперь он даже не пытается обновить или загрузить данные.

Что я делаю неправильно?

0 ответов

Другие вопросы по тегам