python dash

文档

from dash import Dash, html, Input, Output, callback, dcc
from dash import dash_table as dt
import dash_bootstrap_components as dbc
import pandas as pd
import colorlover as cl

colorscale = cl.scales['9']['qual']['Paired']

df = pd.read_parquet('./tmpcare.parquet')
df1 = pd.read_parquet('./tmpret.parquet')

app = Dash(external_stylesheets=[dbc.themes.BOOTSTRAP])

app.layout = html.Div([
    html.Div([html.H2("haha", style={"text-align": "center",})]),

    html.Div([dt.DataTable(
        id='tbl',
        data=df.to_dict('records'),
        columns=[{"name": i, "id": i} for i in df.columns],
    )]),
    html.H2("自选"),
    dcc.Dropdown(
        id='stock-input',
        options=[{'label': i[0], 'value': i[1]} for i in zip(df.id.unique(), df.id.unique())],
        value=['aa', 'bb'],
        multi=True,
        style={'color': 'red','width':'800px'}
    ),

    html.Div(id='graph', style={'color':'blue'}),

], className="container")


@callback(
    Output('graph', 'children'),
    Input("stock-input", "value")
)
def update_graph(value):

    if not value:
        return
    data = [{
        'x': df1[col].index.map(str),
        'y': df1[col].to_list(),
        'type': 'line',
        'name': col
    } for col in value]

    return dcc.Graph(
        figure={
            'data': data,
            'layout': {
                'title': 'Tendency Chart',
                # 'width':"400px",
                'border':'3px'
            }
        }
    )



if __name__ == '__main__':
    app.run_server(debug=True, host='0.0.0.0', port=9000)

img.png

你可能感兴趣的:(python dash)