美文网首页
dash(1)--数据交互传输

dash(1)--数据交互传输

作者: 黄yy家的jby | 来源:发表于2019-12-18 18:19 被阅读0次

    1.库导入

    import pandas as pd
    import numpy as np
    import dash
    import dash_core_components as dcc
    import dash_html_components as html
    from dash.dependencies import Input, Output
    

    2.基本框架

    app = dash.Dash()
    server = app.server
    
    app.layout = html.Div( ... )
    
    app.run_server(port=8051)
    

    3.markdown文本写入

    text = '''
    # 1.测试
    *这是加粗*
    下面这是一条隔离线
    ---
    - 这个是列表1
    - 这个是列表2
    ## 2.这个是第二个标题
    '''
    
    app.layout = html.Div([children = dcc.Markdown(text)])
    # 不加children也可以
    
    markdown文本效果

    4.下拉菜单

    app.layout = html.Div(children=[
        html.Label('这是一个下拉菜单'),
        dcc.Dropdown(
            options=[{'label':'第一个选项','value':'第一个选项的值'},
                     {'label':'第二个选项','value':'第二个选项的值'}],
            value = '第二个选项的值' #这个是初始默认值
        )])
    
    
    下拉菜单

    5.下拉菜单数据传输

    app.layout = html.Div(children=[
        html.Label('这是一个下拉菜单'),
        dcc.Dropdown(
            id = '输入为一个选项',
            options=[{'label':'第一个选项','value':'第一个选项的值'},
                     {'label':'第二个选项','value':'第二个选项的值'}],
            value = '第二个选项的值' #这个是初始默认值
        ),
       dcc.Graph(id='输出为图')
    ])
    
    @app.callback(Output('输出为图','figure'),
                  [Input('输入为一个选项','value')])
    def cal_data(value): #value值是用来标记输入的变量
        open_path = 'dash_test/'
        df = pd.read_excel(open_path+'test.xlsx')
        df['时间'] = df['时间'].apply(str)
        df.set_index(['时间'],inplace=True)
        df.index = pd.to_datetime(df.index)
        if value == '第一个选项的值':
            temp = 'a'
        else:
            temp = 'b'
        return {'data':[{'x':df.index,'y':df[temp]}]}
    
    df
    第二个选项 第一个选项

    用id标注位置,用callback调入参数
    此处输入是dcc.Graph,所以经过函数输出的要符合graph的格式

    @app.callback(
    [output(输出名字1,类型1),
    output(输出名字2,类型2)
    ...],
    
    [input(输入名字1,类型1),
    input(输入名字2,类型2)
    ...])
    

    实现多条件输入和多条件输出

    相关文章

      网友评论

          本文标题:dash(1)--数据交互传输

          本文链接:https://www.haomeiwen.com/subject/fmwunctx.html