You can get the selected data from the Plotly chart using the Plotly new Dash framework .
The docs have an example in the "Graphic Mounting" section https://plot.ly/dash/getting-started-part-2
I have entered the full example below just to save the story.
In each of the callbacks below, you get access to the selected points, the points that you just piled on, or the points that you just clicked on. This application simply displays the values โโof the points in the application, but you can do something with points (for example, calculate something else).

import dash from dash.dependencies import Input, Output import dash_core_components as dcc import dash_html_components as html import json app = dash.Dash(__name__) app.layout = html.Div([ dcc.Graph( id='basic-interactions', figure={ 'data': [ { 'x': [1, 2, 3, 4], 'y': [4, 1, 3, 5], 'text': ['a', 'b', 'c', 'd'], 'customdata': ['c.a', 'c.b', 'c.c', 'c.d'], 'name': 'Trace 1', 'mode': 'markers', 'marker': {'size': 12} }, { 'x': [1, 2, 3, 4], 'y': [9, 4, 1, 4], 'text': ['w', 'x', 'y', 'z'], 'customdata': ['c.w', 'c.x', 'c.y', 'c.z'], 'name': 'Trace 2', 'mode': 'markers', 'marker': {'size': 12} } ] } ), html.Div([ dcc.Markdown(""" **Hover Data** Mouse over values in the graph. """.replace(' ', '')), html.Pre(id='hover-data') ], style=styles['column']), html.Div([ dcc.Markdown(""" **Click Data** Click on points in the graph. """.replace(' ', '')), html.Pre(id='click-data'), ], style=styles['column']), html.Div([ dcc.Markdown(""" **Selection Data** Choose the lasso or rectangle tool in the graph menu bar and then select points in the graph. """.replace(' ', '')), html.Pre(id='selected-data'), ]) ]) @app.callback( Output('hover-data', 'children'), [Input('basic-interactions', 'hoverData')]) def display_hover_data(hoverData):