import dash from dash.dependencies import Input, Output, Event import dash_core_components as dcc import dash_html_components as html app = dash.Dash() app.css.append_css({ "external_url": "https://codepen.io/chriddyp/pen/bWLwgP.css"}) app.layout = html.Div([ html.Div([ html.Div(dcc.Graph(id='graph-1', figure={ 'data': [{ 'x': [1, 2, 3], 'y': [4, 1, 5], 'mode': 'markers', 'marker': { 'size': 12 } }] }), className="six columns"), html.Div(dcc.Graph(id='graph-2', figure={ 'data': [{ 'x': [1, 2, 3], 'y': [2, 5, 10], 'mode': 'markers', 'marker': { 'size': 12 } }] }), className="six columns"), ], className="row"), html.Div(id='container') ]) @app.callback(Output('graph-1', 'hoverData'), events=[Event('graph-2', 'hover')]) def resetHoverData1(): return None @app.callback(Output('graph-2', 'hoverData'), events=[Event('graph-1', 'hover')]) def resetHoverData2(): return None @app.callback(Output('container', 'children'), [Input('graph-1', 'hoverData'), Input('graph-2', 'hoverData')]) def updateContent(hoverData1, hoverData2): print(hoverData1) print(hoverData2) if hoverData1 is not None: return html.Div([ html.Div('Graph 1'), html.Pre(hoverData1) ]) if hoverData2 is not None: return html.Div([ html.Div('Graph 2'), html.Pre(hoverData1) ]) if __name__ == '__main__': app.run_server(debug=True)