Я попытался визуализировать данные об акциях, используя график свечей в виде штриха. Но диаграмма не отображается, выдавая ошибку обратного вызова. Это первый раз, когда я использую сюжет. Поэтому не знаю, как это исправить.
Диаграмма работает хорошо, если я извлекаю данные из файла csv, но не отображается, когда извлекаю данные непосредственно из таблицы базы данных. Любая помощь по этому поводу будет очень полезна.
Вот мой код:
from dash import Dash, dcc, html, Input, Output
import plotly.graph_objects as go
import pandas as pd
app = Dash(__name__)
conn = sqlite3.connect('stocks.db')
cursor = conn.cursor()
app.layout = html.Div([
html.H4('Apple stock candlestick chart'),
dcc.Checklist(
id='toggle-rangeslider',
options=[{'label': 'Include Rangeslider',
'value': 'slider'}],
value=['slider']
),
dcc.Graph(id="graph"),
])
@app.callback(
Output("graph", "figure"),
Input("toggle-rangeslider", "value"))
def display_candlestick(value):
cursor = conn.cursor()
df = pd.read_sql("SELECT Datetime, Open, High, Low, Close FROM stock_data WHERE Symbol = ?", conn, params=('AAPL',))
fig = go.Figure(go.Candlestick(
x=df['Datetime'],
open=df['Open'],
high=df['High'],
low=df['Low'],
close=df['Close']
))
fig.update_layout(
xaxis_rangeslider_visible='slider' in value
)
return fig
app.run_server(debug=True)
Подробнее здесь: https://stackoverflow.com/questions/783 ... lotly-dash