#python #plotly-dash #plotly-python
#python #plotly-dash #plotly-python
Вопрос:
У меня есть линейчатый график в моем приложении 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)
Ожидаемый результат: данные о наведенной строке
Фактический результат: Отсутствует
Ответ №1:
Вам нужно вернуть hover_data
объект вместо того, чтобы печатать его.
@app.callback(Output('hover', 'children'), [Input('main_graph', 'hoverData')])
def disp_hover_data(hover_data):
return hover_data
Прямо сейчас, если вы проверите журнал вашего «сервера», то есть терминал, на котором он запущен, вы увидите, что hover_data напечатан там. Если вы это исправите, это должно появиться в hover
.