仅在 Sankey networkd3 图中显示选定的标签
Only show selected labels in Sankey networkd3 diagram
下图显示了我的桑基图之一:
Sankey Diagram with a lot of labels
如您所见,我确实显示了很多标签。我知道我可以完全禁用标签,但是,我很想知道我是否也可以只选择我想显示的特定标签(基于节点的 ID 或路径遍历的值或其他)。有没有人玩过它并且可以给我一个提示?
节点标签来自您传递给函数的 Nodes
数据框中的 NodeID
。这些 ID/labels 中的任何一个都可以是空白字符串 ""
,这将有效地使关联的 node/s 的标签不可见。
使用帮助文件的示例,这将打印每个节点的标签...
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)
而这不会为左上角的三个 'Oil' 节点打印标签...
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)
但是,当标签/NodeID
s 与 Links
数据框中的 Source
和 Target
id 不匹配时要小心......当那是在这种情况下(如上例所示),sankeyNetwork()
函数依赖于数据框中 id 的顺序来关联它们。
下图显示了我的桑基图之一:
Sankey Diagram with a lot of labels
如您所见,我确实显示了很多标签。我知道我可以完全禁用标签,但是,我很想知道我是否也可以只选择我想显示的特定标签(基于节点的 ID 或路径遍历的值或其他)。有没有人玩过它并且可以给我一个提示?
节点标签来自您传递给函数的 Nodes
数据框中的 NodeID
。这些 ID/labels 中的任何一个都可以是空白字符串 ""
,这将有效地使关联的 node/s 的标签不可见。
使用帮助文件的示例,这将打印每个节点的标签...
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)
而这不会为左上角的三个 'Oil' 节点打印标签...
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)
但是,当标签/NodeID
s 与 Links
数据框中的 Source
和 Target
id 不匹配时要小心......当那是在这种情况下(如上例所示),sankeyNetwork()
函数依赖于数据框中 id 的顺序来关联它们。