Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import dash
- import dash_core_components as dcc
- import dash_bootstrap_components as dbc
- import pandas as pd
- def data_preprocessing():
- df = pd.DataFrame({'level1': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],'level2': ['A1', 'A1', 'A1', 'A2', 'B1', 'B2', 'B2', 'B3'],
- 'level3': ['A1.1', 'A1.2', 'A1.3', 'A2.1', 'B1.1', 'B2.1', 'B2.2', 'B3.1'],
- 'level4': ['A1.1.1', 'A1.2.1', 'A1.3.1', 'A2.1.1', 'B1.1.1', 'B2.1.1', 'B2.2.1', 'B3.1.1']})
- return df
- def dropdown_menu_filters(position, df):
- types = df[position].unique()
- return dcc.Dropdown(id = f'dropdown-{position}',
- options=[{'label': type,'value': type} for type in types], value='all', multi=True)
- def create_app(df):
- app = dash.Dash(external_stylesheets=[dbc.themes.BOOTSTRAP])
- app.layout = dbc.Container([dbc.Row(dbc.Col(['level1']))]+[dbc.Row(dbc.Col([(dropdown_menu_filters('level1', df))]))] +
- [dbc.Row(dbc.Col(['level2']))]+[dbc.Row(dbc.Col([(dropdown_menu_filters('level2', df))]))] +
- [dbc.Row(dbc.Col(['level3']))]+[dbc.Row(dbc.Col([(dropdown_menu_filters('level3', df))]))] +
- [dbc.Row(dbc.Col(['level4']))]+[dbc.Row(dbc.Col([(dropdown_menu_filters('level4', df))]))])
- return app
- dataf = data_preprocessing()
- app = create_app(dataf)
- if __name__ == '__main__':
- app.run_server(debug=True)
Add Comment
Please, Sign In to add comment