我正在生成一个sankey图,其中每个节点都包含很多信息,这些信息仅在将鼠标悬停在其上时才会显示。我的问题是,在Reference中,我找不到方法
label
我发现的是hovertemplate
关键字,它应该能够将变量注入到弹出窗口中,但是除了label
之外,我没有找到将详细信息添加到节点字典中的方法。 。如果我尝试引用例如自定义数据,我为Sankey-Object补充了,但是当悬停({{1})时,这会在浏览器的开发者控制台上导致错误,并且根本不会出现任何弹出窗口。
Uncaught TypeError: Cannot read property 'hasOwnProperty' of undefined
import plotly.graph_objects as go
hovers = ["a"* 500] * 6
label = ["a"] * 6
source = [0, 1, 0, 2, 3, 3]
target = [2, 3, 3, 4, 4, 5]
value = [8, 4, 2, 8, 4, 2]
fig = go.Figure(data=[go.Sankey(
customdata=hovers,
arrangement="freeform",
node=dict(
pad=15,
thickness=20,
line=dict(color="black", width=0.5),
label=label,
color="blue",
),
link=dict(
source=source,
target=target,
value=value
))])
fig.update_layout(title_text="Basic Sankey Diagram", font_size=12)
fig.show()
是简短描述列表,label
是完整描述列表。如果我向节点字典提供hovers
,结果将像这样
我不想用详细信息来散布概述,我希望仅在弹出窗口和标签中包含详细信息,以仅保留摘要,或者在不可能的情况下完全不包含任何内容。有没有办法做到这一点?
编辑/替代方法:
我找到了一种解决方法,在我的情况下,每个节点只有一个传出连接,而最后一个节点只有0。我可以使用它来将完整信息添加为输出连接的hoverinfo。我必须添加一个附加的“输出”节点,“真正的”最后一个节点可以连接到该节点。