gpt4 book ai didi

javascript - 单击 Plotly 散点图中的数据点时打开 URL [Python]

转载 作者:行者123 更新时间:2023-12-04 04:12:51 24 4
gpt4 key购买 nike

我正在将 Doc2Vec 向量空间的 UMAP 二维缩减可视化为使用 Plotly 的交互式散点图。

每个点对应一个文档向量。除了悬停行为(显示有关文档的一些信息)之外,我希望能够单击这些点,以便在新窗口中打开文档的 URL。

这是我当前的图形代码:

fig = go.Figure()

for cat in data.Categories.unique():
if cat != 'OTHER':
cat_data = data[data['Categories'] == cat]
fig.add_trace(go.Scattergl(
x=cat_data["Component 1"],
y=cat_data["Component 2"],
name=cat,
mode="markers",
opacity=0.8,
marker=dict(size=5),
text=['Label: %s<br>Title: %s'%(d,t) for d,t in cat_data.loc[:,['Labels', 'Document Titles']].values],
hoverinfo="text"
))

fig.update_layout(
title=title,
font=dict(
family="Lato",
size=16,
color="#000000"),
hovermode='closest'
)

fig.write_html("Plotly/2D_[NN-%s]_[MD-%s].html"%(n_neighbors, min_dist))

我不知道从哪里开始,通读 Plotly 文档似乎没有帮助。

非常感谢!

最佳答案

你检查过这个answer吗?或者本论坛post .最终你可以玩 click-events

无论如何,如果您正在寻找一个快速的解决方案,您可以考虑将链接添加为注释或悬停文本,因为您可以使用 html 格式的代码作为文本。我更喜欢注释/文本散布而不是悬停文本,因为在后一种情况下,正确点击会很痛苦。

import pandas as pd
import plotly.graph_objs as go

df = pd.DataFrame({"x":[0,1],
"y":[0,1],
"text":["<a href=\"https://plot.ly/\">name1</a>",
"<a href=\"https://google.com\">name2</a>"]})

fig = go.Figure()
fig.add_trace(
go.Scatter(x=df["x"],
y=df["y"],
mode="markers+text",
# Just pick one of the two
hovertext=df["text"],
text=df["text"],
textposition="top center",
textfont_size=8))

fig.show()

关于javascript - 单击 Plotly 散点图中的数据点时打开 URL [Python],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61423997/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com