Die dft-Schleife funktioniert gut, aber der Callback "unterbricht" die Schleife nicht, die einzige debugged-Anweisung ist die def plot_ticker_day(n_clicks):
Idee ?
Der Code ist vereinfacht mit hart kodierten Werten: the_day='2021-10-14' , stocksTicker = 'GRVI'
Code: Alles auswählen
app = dash.Dash(__name__)
dft = pd.read_sql('SELECT * from show_rule1',con=Engine)
for row in dft.itertuples():
app.layout = html.Div([
html.H3(row.dayx),
html.H3(row.Ticker),
html.Button("Next",id='next_val'),
dcc.Graph(id='ticker_day')
])
@app.callback(
Output('ticker_day', 'figure'),
Input('next_val', 'n_clicks')
)
def plot_ticker_day(n_clicks):
the_day='2021-10-14'
stocksTicker = 'GRVI'
selectString = 'SELECT * FROM aggregates WHERE Ticker =' +'\''+ stocksTicker +'\'' + ' AND CONVERT(varchar(10), dbo.aggregates.t_datetime, 23) =' +'\''+ the_day +'\''
df = pd.read_sql(selectString ,con=Engine)
trace1 = {
'x': df.t_datetime,
'open': df.o,
'close': df.c,
'high': df.h,
'low': df.l,
'type': 'candlestick',
'name': stocksTicker,
'showlegend': True
}
fig=go.Figure([trace1])
return fig
if __name__ == '__main__':
app.run_server(debug=False)