Closed
Description
When candlestick and ohlc chart types are repeatedly updated, data is wrongly transformed.
For example,
(1) select AAPL from dropdown
(2) select AAPL again and data transforms
(3) select AAPL again and data transforms again
(4) ... so on
Run below script and repeatedly select ticker options.
import dash
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output
import pandas as pd
import pandas_datareader as web
app = dash.Dash()
df_a = web.DataReader("AAPL", 'morningstar').reset_index()
df_t = web.DataReader("TSLA", 'morningstar').reset_index()
df = pd.concat([df_a,df_t])
app.layout = html.Div(children=[
html.Div(children=[
dcc.Dropdown(
id='input',
options=[{'label': i, 'value': i} for i in df['Symbol'].unique()],
value='AAPL'
)
], style={'width': '100px'}),
dcc.Graph(id='graph')
])
@app.callback(Output('graph', 'figure'),
[Input('input', 'value')])
def update_candle(value):
symbol = str(value)
df2 = df[df['Symbol'] == symbol]
figure = {
'data': [{
'x': df2['Date'],
'open': df2['Open'],
'high': df2['High'],
'low': df2['Low'],
'close': df2['Close'],
'type': 'candlestick',
'name': symbol
}]
}
return figure
app.css.append_css({"external_url": "https://codepen.io/chriddyp/pen/bWLwgP.css"})
if __name__ == '__main__':
app.run_server()
Metadata
Metadata
Assignees
Labels
No labels