def create_graph(x, y, title, **kwargs):
layout = go.Layout(
autosize=True,
height=300,
)
fig = go.FigureWidget(data=go.Scatter(x=x,y=y,fill='tozeroy'), layout=layout)
return fig
def create_OHLC(data, title, **kwargs):
layout = go.Layout(
autosize=True,
height=300,
)
fig = go.FigureWidget(data=go.Candlestick(x=data.index,
open=data['Open'],
high=data['High'],
low=data['Low'],
close=data['Close']), layout=layout)
fig.update(layout_xaxis_rangeslider_visible=False)
return fig
cotton_candy = {
"header_background_color": "rgb(207, 212, 252, 1)",
"header_grid_line_color": "rgb(0, 247, 181, 0.9)",
"vertical_grid_line_color": "rgb(0, 247, 181, 0.3)",
"horizontal_grid_line_color": "rgb(0, 247, 181, 0.3)",
"selection_fill_color": "rgb(212, 245, 255, 0.3)",
"selection_border_color": "rgb(78, 174, 212)",
"header_selection_fill_color": "rgb(212, 255, 239, 0.3)",
"header_selection_border_color": "rgb(252, 3, 115)",
"cursor_fill_color": "rgb(186, 32, 186, 0.2)",
"cursor_border_color": "rgb(191, 191, 78)",
}
def create_widget(data):
widgets = {}
for ticker, value in data.items():
index = value.index
_price = create_graph(index, value.Close,f'{ticker}',
labels=["Open","High", "Low", "Close"])
_ohlc = create_OHLC(value, f'{ticker} OHLC')
datagrid = DataGrid(value, base_row_size=32, base_column_size=150, layout={"height": "630px"})
datagrid.grid_style = cotton_candy
widgets[f'{ticker} price'] = _price
widgets[f'{ticker} OHLC'] = _ohlc
widgets[f'{ticker} Data'] = datagrid
return widgets