Plotly Da sh Ошибка обратного вызова при обновлении графика вывода с помощью Choropleth - PullRequest
0 голосов
/ 24 марта 2020

Я пытаюсь обновить хороплет, но это работает только тогда, когда я определяю фигуру вне обратного вызова, как это:

fig = px.choropleth(
    df,
    geojson=counties,
    locations='COV_',
    color='Enero')

fig.update_geos(fitbounds="locations", visible=False)
fig.update_layout(margin={"r":0,"t":0,"l":0,"b":0})


APP.layout = html.Div([
    dbc.FormGroup(
            [
                dbc.Label("Tipo de delito"),
                dcc.Dropdown(
                    id="in-delito",
                    value=NE['Tipo de delito'].unique()[0],
                    options=[
                        {"label": col, "value": col} for col in NE['Tipo de delito'].unique()
                    ]
                ),
            ]
    ),

    dcc.Graph(id="gr-delito-map", figure=fig)

])

Но когда пытаюсь обновить с обратным вызовом, как это:

@APP.callback(
    [dash.dependencies.Output('gr-delito-map', 'figure')],
    [dash.dependencies.Input('in-delito', 'value')]
)
def update_delito(value):

    global counties

    df = pd.read_csv(BASE_PATH+'/../Descargador/data/ne.csv')
    df = df.filter(["Año", "Clave_Ent", "Tipo de delito", "Enero"])
    #df = df[df['Tipo de delito']=='Homicidio']
    df = df[df['Tipo de delito']==value]
    df[["Enero"]] = df[["Enero"]].apply(pd.to_numeric)
    df = df.groupby('Clave_Ent').sum()
    df=df.reset_index()
    df['COV_'] = df['Clave_Ent'].astype(str)

    fig = px.choropleth(
            df,
            geojson=counties,
            locations='COV_',
            color='Enero')

    return fig

Никогда не работает, и я получаю только ошибку 'Ошибка обновления обратного вызова'.

Я пробую часть кода, подобную этой, которая работает по этой ссылке:

https://community.plot.ly/t/how-to-update-a-choropleth-map/23340/2

Но по любой причине это не работает с этой цифрой или данными.

И ошибка на дисплее не отображает информацию.

Любой Идея о том, как я могу это исправить?

Спасибо

1 Ответ

0 голосов
/ 24 марта 2020

Необходимо только вернуть список с рисом внутри return [fig]

...