Я хочу удалить фрейм данных (который используется в графике для OHLCV) и воссоздать его с новыми данными, если конкретный выпадающий список был изменен.Короче говоря, если я изменяю интервал времени, в течение которого я получаю данные обмена (1м, 5м, 15м, 30м, 1ч и т. Д.), Я хочу, чтобы данные были «сброшены» / «стерты» с кадра данных.
Мне нужна опция добавления внизу, чтобы рассчитать изменения на рынке.Поэтому я предполагаю, что что-то подобное может работать, но я не могу понять, как передать новый пустой фрейм данных обратно в update_graph_scatter
AppendedValue = pd.DataFrame()
def clear_df():
del AppendedValue
AppendedValue = pd.DataFrame()
return AppendedValue
@app.callback(Output('dropdown_interval', 'value'), [Input('dropdown_interval', 'options')])
def update_interval_value(intervals):
AppendedValue = clear_df()
return intervals[0]['value']
#POPULATES THE GRAPH USING A 20 SECOND INTERVAL. EVERY 20 SECONDS THE CALLBACK TRIGGERS "UPDATE_GRAPH_SCATTER"
@app.callback(Output('crypto-live-graph', 'figure'), [Input('dropdown_exchange', 'value'), Input('dropdown_ticker', 'value'), Input('dropdown_interval', 'value'), Input('arglist', 'value'), Input('graph-update', 'n_intervals')], [State('crypto-live-graph', 'figure')])
def update_graph_scatter(dropdown_exchange, dropdown_ticker, dropdown_interval, arglist, graphupdate, figure):
global AppendedValue
########################## PULL OHLCV DATA ###################################
PullValues = bf.trader()
funcName = dropdown_exchange.lower() + '_data'
exchange = dropdown_exchange.lower()
#AppendedValue = getattr(PullValues, funcName)(dropdown_ticker, dropdown_interval)
#NewDateTimes = AppendedValue.index
########################## END PULL OHLCV DATA ###############################
if AppendedValue.empty:
AppendedValue,last_date = getattr(PullValues, funcName)(dropdown_ticker, dropdown_interval)
else:
AppendedValue, last_date = append_new_bars(AppendedValue, exchange, dropdown_ticker, PullValues, dropdown_interval)
NewDateTimes = AppendedValue.index
########################## CREATE OHLCV FORMAT ###############################
trace = Candlestick(
x=NewDateTimes,
open=AppendedValue['open'],
high=AppendedValue['high'],
low=AppendedValue['low'],
close=AppendedValue['close'],
showlegend=False,
name='BTC/USD',
legendgroup='BTC/USD',
increasing=dict(line=dict(color=colorscale[2])),
decreasing=dict(line=dict(color=colorscale[4])),
yaxis='y1'
)
data=[trace]