【发布时间】:2022-01-02 11:31:32
【问题描述】:
我希望能够在 Python 中单击 Plotly 散点图中的一个点后使用相关信息更新表格。或者换句话说,当我单击散点图中的一个点(更具体地说是 UMAP 图)时,表格将显示该集群(物种)的数据,我正在使用 Scikit-learn Iris 数据集进行尝试。
from umap import UMAP
import plotly.express as px
from sklearn.datasets import load_iris
df = px.data.iris()
features = df.loc[:, :'petal_width']
umap_2d = UMAP(n_components=2, init='random', random_state=0)
proj_2d = umap_2d.fit_transform(features)
fig = px.scatter(
proj_2d, x=0, y=1,
color=df.species,
labels={'color': 'species'}
)
fig.show()
我正在创建表格,使用来自https://datahub.io/machine-learning/iris 的 iris 数据集 csv 文件:
import pandas as pd
import numpy as np
import plotly.graph_objects as go
iris_df = pd.read_csv("iris_csv.csv")
table = go.Figure(data=[go.Table(
header=dict(values=list(iris_df.columns),
fill_color='paleturquoise',
align='left'),
cells=dict(values=[iris_df.sepallength, iris_df.sepalwidth, iris_df.petallength, iris_df.petalwidth, iris_df.species],
fill_color='lavender',
align='left'))
])
table.show()
我的想法是使用 'on_click' 函数使用基于点的“物种”标签的过滤器来更新表格。然而,到目前为止,我所尝试的一切都失败了,这对我来说相当新。任何想法将不胜感激。
【问题讨论】:
标签: python plotly plotly-dash plotly-python