Da sh Ошибка обратного вызова: нечитаемый тип: 'Figure' - PullRequest
0 голосов
/ 21 апреля 2020

Я хочу обновить круговую диаграмму с помощью da sh:

@app.callback(
    Output('piechart','figure'),
    [Input('piechartinput', 'value')]
)
def update_piechart(new_val):
    return {px.pie(dfs, names = new_val, values='Wert')}

К сожалению, я получаю эту ошибку:

Traceback (most recent call last):
  File "C:\Users\TO3THY0\.spyder-py3\Dashboard\Dashboard.py", line 153, in update_piechart
    return {px.pie(dfs, names = new_val, values='Wert')}
TypeError: unhashable type: 'Figure'

Кто-нибудь может мне помочь? Спасибо!

1 Ответ

0 голосов
/ 21 апреля 2020

В вашем обратном вызове вы возвращаете новое значение для piechart.figure. Как описано в https://plotly.com/python/creating-and-updating-figures/, вы можете передать словарь с одним data и одним layout полем. В вашем коде вы используете неправильный синтаксис, в результате чего фигура используется в качестве ключа вместо значения. Поскольку эта цифра не является хэшируемой, вы получаете ошибку. С помощью plotly express вы можете передать цифру напрямую.

В вашем примере правильная реализация может выглядеть так:

@app.callback(
    Output('piechart','figure'),
    [Input('piechartinput', 'value')]
)
def update_piechart(new_val):
    return px.pie(dfs, names=new_val, values='Wert')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...