如何通过单击图形中的点在 python/streamlit 中执行功能

当我单击图表中的一个点时,我想执行一个功能。


目前我正在使用 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

http://img2.mukewang.com/6360c2d20001e78806060618.jpg

我知道可以使用 vega-lite 单击图形,如下例https://vega.github.io/vega-lite/examples/point_href.html。但是我不想去谷歌,而是想执行一个 python 函数。

是否有某种类型的图表可用于此类问题?



梦里花落0921
浏览 137回答 1
1回答

四季花海

尚不支持与图表的交互。有关详细信息,请参阅此链接。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python