Group Sankey 按颜色流动? (有情节)

问题描述 投票:0回答:0

我正在尝试按颜色对桑基图的流程进行排序。红色为未实施,黄色为推荐,绿色为已实施。这些颜色穿过图表。现在我想让所有绿色(已实现)流进出顶部的节点,然后是黄色,然后是红色。

例如参见 urges 节点。 (顶部第三列) My Sankey

我尝试自己对数据进行排序,但并没有 100% 成功。有任何想法吗? :)

谢谢!

我正在使用 Plotly 版本

5.14.1

这是我的代码:

fig = go.Figure(data=[go.Sankey(
    node = dict(
      pad = 15,
      thickness = 20,
      line = dict(color = "black", width = 0.5),
      label = [
          "Awareness",
          "Best Practice",
          "Implementation ",
          "Resources",
          "Training ",
          "Campaigns",
          'Training',
          'Research',
          'National Strategy',
          'Services',
          'Children',
          'Due Diligence',
          'Legal Framework',
          'Services',
          'NGOs',
          'Services',
          'strongly encourages',
          'not recommended',
          'urges',
          'encourages',
          'invites',
          'not implemented',
          'implemented',
          'recommended'],
      color = "gray"
    ),
    link = dict(
      source = [1, 2, 2, 3, 2, 3, 0, 2, 1, 2, 0, 1, 8, 11, 13, 10, 13, 14, 15, 5, 4, 13, 5, 7, 12, 5, 5, 13, 9, 13, 16, 18, 16, 16, 17, 18, 19, 20], 
      target = [8, 11, 10, 14, 13, 15, 4, 13, 7, 12, 5, 9, 16, 16, 16, 18, 18, 18, 16, 16, 16, 16, 17, 17, 17, 18, 19, 19, 20, 20, 22, 22, 23, 21, 21, 21, 21 ,21],
      value = [1, 1, 1, 1, 2, 1, 2, 6, 1, 1, 4, 1, 1, 1, 1,1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 1, 2, 1, 1, 3, 3, 1, 6, 3, 1, 3, 2],
      color = ['green', 'green', 'green', 'green', 'green', 'yellow', 'red', 'red', 'red', 'red', 'red', 'red', 'green', 'green', 'green', 'green', 'green', 'green',  'yellow', 'red', 'red', 'red', 'red', 'red', 'red', 'red', 'red', 'red', 'red', 'red', 'green', 'green', 'yellow', 'red', 'red', 'red', 'red', 'red']
  ))])

fig.update_layout(title_text="Sankey Diagram Albanien", font_size=10)
fig.show()
python pandas plotly sankey-diagram
© www.soinside.com 2019 - 2024. All rights reserved.