Summary
I have a pandas dataframe, it has a few attributes such as name, salary, domain and coordinates. I need a plotting library that can plot these points on a scatter plot, where the .points will display the information on hover and will also perform certain actions if we click that point.
I have used plotly, but the on_click functionality is not implemented on Streamlit. There is a separate library called streamlit plotly events, but it seems its outdated because it produces a black and white plot. I am also free to use any other library if it fulfills my conditions
Additional information
There are some relevant codes I think which would help
Code snippet:
# sample pandas dataframe with one row:
dict1 = {'name': ['John'],
'company': ['GreenStone'],
'salary': [1000],
x:[2.891],
y:[3.442]}
df = pd.DataFrame(dict1)
#i am using plotly, but I can use other libraries too
import plotly.express as px
fig =px.scatter(df, x='x', y='y', size = 'salary',
hover_data= hover_dict)
def open_text(trace, points, selector):
#do something
fig.data[0].on_click(open_text)
Expected behavior:
open_text function executes
Actual behavior:
nothing happens