【发布时间】:2017-03-15 12:20:21
【问题描述】:
下图显示了我的一个桑基图:
Sankey Diagram with a lot of labels
如您所见,我确实显示了很多标签。我知道我可以完全禁用标签,但是,我很想知道我是否也可以只选择我想显示的特定标签(基于节点的 ID 或路径遍历的值或其他)。有没有人玩过这个并且可以给我一个提示?
【问题讨论】:
标签: r sankey-diagram networkd3
下图显示了我的一个桑基图:
Sankey Diagram with a lot of labels
如您所见,我确实显示了很多标签。我知道我可以完全禁用标签,但是,我很想知道我是否也可以只选择我想显示的特定标签(基于节点的 ID 或路径遍历的值或其他)。有没有人玩过这个并且可以给我一个提示?
【问题讨论】:
标签: r sankey-diagram networkd3
节点标签来自您传递给函数的Nodes 数据框中的NodeID。这些 ID/标签中的任何一个都可以是空白字符串 "",这将有效地使关联节点的标签不可见。
使用帮助文件的示例,这将打印每个节点的标签...
URL <- paste0('https://cdn.rawgit.com/christophergandrud/networkD3/master/JSONdata/energy.json')
energy <- jsonlite::fromJSON(URL)
sankeyNetwork(Links = energy$links, Nodes = energy$nodes, Source = 'source',
Target = 'target', Value = 'value', NodeID = 'name',
units = 'TWh', fontSize = 12, nodeWidth = 30)
而这不会为左上角的三个“油”节点打印标签...
URL <- paste0('https://cdn.rawgit.com/christophergandrud/networkD3/master/JSONdata/energy.json')
energy <- jsonlite::fromJSON(URL)
energy$nodes[37:39, ] <- ' '
sankeyNetwork(Links = energy$links, Nodes = energy$nodes, Source = 'source',
Target = 'target', Value = 'value', NodeID = 'name',
units = 'TWh', fontSize = 12, nodeWidth = 30)
但是,当标签/NodeIDs 与Source 和Target id 在Links 数据框中不匹配时,请注意...在这种情况下(如上面的示例中)@ 987654330@函数依赖于数据帧中id的顺序来关联它们。
【讨论】: