【问题标题】:Layout must be a dash component?布局必须是破折号组件?
【发布时间】:2021-12-05 19:14:29
【问题描述】:

我不断收到错误消息“布局必须是破折号组件或返回破折号组件的函数。”但我似乎无法确定错误出在哪里。我尝试将 app.run 分离到另一个运行块(使用 jupyter notebook),但似乎没有用。

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)

【问题讨论】:

    标签: python jupyter-notebook plotly-dash


    【解决方案1】:

    问题在于您的布局是一个元组,因为它以逗号结尾。如果我们把孩子们拿出来,你得到的是:

    layout = html.Div(),
    

    创建一个元组。只需删除逗号,它应该可以工作。

    【讨论】:

      猜你喜欢
      • 2018-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多