如何构造一个带有两个下拉菜单的虚线条形图?在我的示例中,数据存储如下,这与其他示例不同:
table example
我知道如何用一个下拉菜单,并尝试了一些事情的第二个。但是,我不能弄清楚如何功能将需要看起来像与第二个输入。
import dash
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output
import plotly.express as px
import pandas as pd
df = pd.read_excel('cities.xlsx',engine='openpyxl')
app = dash.Dash()
app.layout = html.Div([
html.Div([
dcc.Dropdown(
id= "selected_statistic",
options=[
{'label': 'Population', 'value': 'pop'},
{'label': 'Area', 'value': 'a'},
{'label': 'Density', 'value': 'dens'}
],
value='pop')
], style={'width': '48%', 'display': 'inline-block'}),
html.Div([
dcc.Dropdown(
id= "year",
options=[
{'label': '1990', 'value': '1990'},
{'label': '2000', 'value': '2000'},
{'label': '2010', 'value': '2010'},
{'label': '2020', 'value': '2020'}
],
value='1990'),
], style = {'width': '48%', 'float': 'right', 'display': 'inline-block'}),
dcc.Graph(id='graph')
])
@app.callback(Output('graph', 'figure'),
[Input('selected_statistic', 'value'),
Input('year', 'value')])
def update_figure(selected_statistic,year):
df2 = df[df["statistic"] == selected_statistic]
fig = px.bar(df2[df2],
x="city",
y="value",
color="city")
return fig
if __name__ == '__main__':
app.run_server()
1条答案
按热度按时间j0pj023g1#
我觉得你想要这样的东西:
假设您的df有一个
year
列。