zoukankan      html  css  js  c++  java
  • python dash 初探 --- k 线国内版

    python dash 的应用首页,是用一个 k 线图来做 damo 的,奈何数据源用的 Google,上不去。当然,可以换 yahoo,但是毕竟国内的还是更亲切些。

    官方的 demo 用的 pandas_datareader 来获取数据的,先需要换个可以获取国内数据的,看了下 tushare 挺好用。

    另外,参考 flask ,把 host 改为 0.0.0.0,这样就不限于用 127.0.0.1 来访问啦。当然,需要的话,port 也可以换掉。

    改好的官方 demo 如下:

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    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")
  • 相关阅读:
    团队介绍与选题报告
    实验6:开源控制器实践——RYU
    二叉搜索树的2层结点统计 (25 分)
    2020团队程学设计天梯赛-总决赛
    口罩发放 (25 分)
    九宫格输入法
    检查密码
    暑期训练10-1010
    暑期训练09-1003
    数据结构之循环队列
  • 原文地址:https://www.cnblogs.com/pied/p/8340185.html
Copyright © 2011-2022 走看看