我正在生成一个sankey图,其中每个节点都包含很多信息,只有当我将鼠标悬停在它上面时才会显示这些信息。我的问题是从Reference开始,我找不到方法
label
不同的信息我发现的是hovertemplate
-关键字,它应该能够将变量注入弹出窗口,但是我找不到一种方法将详细信息添加到节点dict中,除非是label
。如果我试图引用例如customdata,它是我提供给Sankey对象的,但是这导致浏览器中的dev控制台在悬停(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
是完整描述的列表。如果我向节点dict提供hovers
,结果如下所示
我不想用详细信息来滥发概述,而是希望在弹出窗口中只保留详细信息和标签,以便在不可能的情况下只保存摘要或根本不保存任何内容。有没有办法做到这一点?在
编辑/解决方法:
我找到了一个解决方法,在我的例子中,除了最后一个节点有0,每个节点只有一个传出连接。我可以用这个来添加输出连接的hoverinfo的完整信息。我不得不添加一个额外的输出节点,我的“真正的”最后一个节点可以连接到它。在
目前没有回答
相关问题 更多 >
编程相关推荐