问题描述
我用 Plotly 创建了一个桑基图,但我不明白它的行为。
import plotly.graph_objects as go
fig = go.figure(go.Sankey(
arrangement = "snap",node = {
"label": ['F1','F2'],'pad':10
},link = {
"source": [1,2],"target": [0,0],"value": [1,1]
}))
fig.show()
fig.write_image('output.png')
输出为:
... 我已经指定了两个流。两者都具有相同的目标节点 (0)。到现在为止还挺好。但是为什么一个流的标签显示在源节点旁边,而另一个流的标签显示在目标节点旁边?我希望两个标签都显示在左侧节点旁边,而不是左侧节点旁边的一个标签和右侧节点旁边的一个标签。
解决方法
我认为标签不会显示在节点旁边,因为它在定义标签时也会考虑源节点,因此只需删除第一个值(通过使其成为空字符串),您就可以完成您正在寻找。
import plotly.graph_objects as go
fig = go.Figure(go.Sankey(
arrangement = "snap",node = {
"label": ['','F1','F2'],'pad':10
},link = {
"source": [1,2,],"target": [0,0],"value": [1,1]
}))
fig.show()