Я хочу выполнять функцию, когда нажимаю точку на графике.
В настоящее время для построения графика я использую Python, Streamlit и Vega-Lite. Я хочу создать что-то, что дает мне больше информации о нажатой точке, выполнив функцию python.
Итак, я хочу выполнить функцию search()
, но вместо того, чтобы самому указывать аргументы, я хочу указать значения a, b и c точки, по которой щелкнули мышью.
df = pd.DataFrame(np.random.randn(200, 3),columns=['a', 'b', 'c'])
df = df.append({'a':1, 'b':1, 'c':1}, ignore_index=True)
st.vega_lite_chart(df, {
'mark': {'type': 'circle', 'tooltip': True},
'encoding': {
'x': {'field': 'a', 'type': 'quantitative'},
'y': {'field': 'b', 'type': 'quantitative'},
'size': {'field': 'c', 'type': 'quantitative'},
'color': {'field': 'c', 'type': 'quantitative'},
},
})
def search(arg1, arg2, arg3):
return df.loc[(df['a']==1) & (df['b']==1) & (df['c']==1)]
searched = search(1,1,1)
searched
Я знаю, что можно щелкнуть график с помощью vega-lite, как в следующем примере https://vega.github.io/vega-lite/examples/point_href.html. Но вместо того, чтобы идти в Google, я хочу выполнить функцию python.
Есть ли какой-либо тип графа, который можно использовать для этого типа задач?