如何在绘图Sankey图中设置各个节点的线宽?

2024-05-19 20:12:34 发布

您现在位置:Python中文网/ 问答频道 /正文

根据Sankey图表的Plotly文档,node.line属性采用颜色和宽度字典,其中“宽度是大于或等于0的数字或数字数组”(强调我的)

我假设提供一个数组将设置各个节点的线宽,但这不起作用。有没有办法设置单个节点的线宽

证明:

import plotly.graph_objects as go
fig = go.Figure(data=[go.Sankey(
    node = dict(line = dict(color = "black", width = 5),label = ["A","B"]),
    link = dict(source = [0], target = [1], value = [1]
  ))])
fig.show()

给出此结果(请注意节点的粗线): note the thick lines of the nodes

将宽度设置为列表时:

import plotly.graph_objects as go
fig = go.Figure(data=[go.Sankey(
    node = dict(line = dict(color = "black", width = [5,10]),label = ["A","B"]),
    link = dict(source = [0], target = [1], value = [1]
  ))])
fig.show()

产生以下结果: enter image description here

请注意,线条的默认宽度为0.5,因此宽度参数似乎完全被忽略。 (尝试设置颜色参数时会出现相同的效果。同时提供颜色和宽度列表也不起作用。)


Tags: importnodego宽度节点颜色linefig