Plotly-Dash: как распечатать hoverData гистограммы?

У меня есть график Bar в моем приложении Dash. Я хочу печатать данные о наведении указателя мыши при наведении курсора на определенную панель.

Я пробовал свойство hoverData go.Bar () в моем обратном вызове.

data = go.Bar(x=dict.keys(), y=dict.values(), name=ver, text=dict.values(), textposition='auto')

layout = go.Layout(barmode='group', hovermode='closest')

html.Div([dcc.Graph(id='main_graph', figure={'data': data, 'layout': layout}
)], style={'width':'70%', 'float':'left'})

html.Div([html.Pre(id='hover')], style={'width':'30%', 'float':'right'})

@app.callback(Output('hover', 'children'), [Input('main_graph', 'hoverData')])
def disp_hover_data(hover_data):
    print(hover_data)

Ожидаемый результат: данные о наведении курсора на панель.

Фактический результат: Нет


person Jainabhi    schedule 29.03.2019    source источник


Ответы (1)


Вам необходимо вернуть объект hover_data вместо его печати.

@app.callback(Output('hover', 'children'), [Input('main_graph', 'hoverData')])
def disp_hover_data(hover_data):
    return hover_data

Прямо сейчас, если вы проверите журнал своего «сервера», то есть терминал, на котором он работает, вы увидите напечатанные там hover_data. Если вы исправите это, он должен появиться в hover.

person russellthehippo    schedule 29.03.2019