【发布时间】:2021-06-12 06:23:04
【问题描述】:
如何实现对mouseout 做出反应并在未将鼠标悬停在数据点上时恢复默认值的回调函数?
我简化了从 Plotly|Dash 教程的“交互式可视化”部分截取的代码来说明我的问题。在此示例中,callback 函数返回 mouseover 信息。如何在 mouseout 上返回默认值?
import dash
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output
import plotly.express as px
import pandas as pd
app = dash.Dash(__name__)
df = pd.DataFrame({
"x": [1,2,1,2],
"y": [1,2,3,4]
})
fig = px.scatter(df, x="x", y="y")
fig.update_traces(marker_size=20)
app.layout = html.Div([
dcc.Graph(
id='basic-interactions',
figure=fig
),
html.Div([
html.Pre(id='hover-data')
])
])
@app.callback(
Output('hover-data', 'children'),
Input('basic-interactions', 'hoverData'))
def display_hover_data(hoverData):
if hoverData:
return str(hoverData)
else:
return "hover over data point"
if __name__ == '__main__':
app.run_server(debug=True)
【问题讨论】:
标签: python callback mouseover plotly-dash mouseout