https://study.163.com/course/courseMain.htm?courseId=1006383008&share=2&shareId=400000000398149(博主录制)
k 线国内版
python dash 的应用首页,是用一个 k 线图来做 damo 的,奈何数据源用的 Google,上不去。当然,可以换 yahoo,但是毕竟国内的还是更亲切些。
官方的 demo 用的 pandas_datareader 来获取数据的,先需要换个可以获取国内数据的,看了下 tushare 挺好用。
另外,参考 flask ,把 host 改为 0.0.0.0,这样就不限于用 127.0.0.1 来访问啦。当然,需要的话,port 也可以换掉。
# -*- coding: utf-8 -*- """ Created on Sun Mar 11 10:16:43 2018 @author: Administrator """ import dash from dash.dependencies import Input, Output import dash_core_components as dcc import dash_html_components as html from datetime import datetime as dt import tushare as ts app = dash.Dash() app.layout = html.Div([ html.H1('k-30'), dcc.Dropdown( id='my-dropdown', options=[ {'label': '爱柯迪', 'value':'600933'}, {'label': '赣锋锂业', 'value':'002460'}, {'label': '中国神华', 'value':'601088'}, {'label': '广汽集团', 'value':'601238'}, {'label': '春秋航空', 'value':'601021'}, ], value='600933' ), dcc.Graph(id='my-graph') ]) @app.callback(Output('my-graph', 'figure'), [Input('my-dropdown', 'value')]) def update_graph(selected_dropdown_value): # df = web.DataReader( # selected_dropdown_value, data_source='yahoo', # start=dt(2018, 1, 1), end=dt.now() # ) df = ts.get_k_data(selected_dropdown_value, ktype='30') return { 'data':[ { 'x': df.index, 'y':df.close } ] } if __name__ == '__main__': app.run_server(host="0.0.0.0")
https://study.163.com/provider/400000000398149/index.htm?share=2&shareId=400000000398149(博主视频教学主页)