布局必须是仪表板组件



我一直得到错误"布局必须是短划线组件或返回短划线组件的函数"但我似乎无法确定错误在哪里。我尝试将app.run分离到另一个运行块(使用jupyter笔记本(,但似乎没有成功。

app = dash.Dash(__name__)

app.layout= html.Div(
children=[
html.Div(children=[
dcc.Dropdown(id='dropdown1',
options=[
{'value':x,'label':x} 
for x in df['Census Block Tract']],
clearable=False,
value='MLK Jr Blvd (Detroit)',
),
dcc.Dropdown(id='dropdown2',
options=[
{'label':'Median Household Income','value':'Median Household Income'},
{'label':'Average Home Value','value':'Average Home Value'}],
clearable=False,
value='Median Household Income',                   
)
], className='menu-l'
),
dcc.Graph(id='interaction2',
config={'displayModeBar':False},
className='card')
]
),
@app.callback(
Output('interaction2', 'figure'),
[Input('dropdown1','value'),
Input('dropdown2','value')]
)
def update_pie_chart(select_d1,select_d2):
df3=df.loc[df['Census Block Tract']==select_d1]

## using dash to make the pie chart
fig1=go.Figure(data=[go.Pie(labels=df3[select_d2].value_counts().index.tolist(),
values=list(df3[select_d2].value_counts()))])

## customizing the title of the pie chart
names={'Median Household Income':'Median Household Income','Average Home Value':'Average Home Value'}
title_att=names.get(select_d2)
#fig1.update_layout(title=
#     f"{title_att} of Confirmed Covid-19 Cases in {select_d1}"
#                  " province")
return fig1  # return fig1 #to be outputted!
if __name__ == '__main__':
app.run_server(debug=True)

问题是您的布局是一个元组,因为它以逗号结尾。如果我们去掉孩子,你得到的是:

layout = html.Div(),

它创建了一个元组。只要去掉逗号就可以了。

最新更新