Я хочу выполнить функцию, когда нажимаю на точку на графике.
В настоящее время я использую 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
граф изображений в Streamlit
Я знаю, что можно кликнуть на графике с vega-lite, как в следующем примере https://vega.github.io/vega-lite/examples/point_href.html. Но вместо того, чтобы идти в Google, я хочу предварительно выполнить функцию python.
Есть ли какой-нибудь тип графика, который можно использовать для решения проблем такого типа?
Заранее спасибо!