以下图像显示了我的Sankey图之一:
带有许多标签的Sankey图
您可以看到,我确实显示了很多标签。我知道我可以完全禁用标签,但是,我有兴趣知道我还可以选择要显示的特定标签(基于节点的ID或路径遍历的值或其他内容)。有人玩过那个,可以给我一个提示吗?
节点标签来自您传递给函数的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)
请小心,但是当标签/NodeID
s与Links
数据框架中的Source
和Target
ID不匹配时...当这种情况(如上所述)时,sankeyNetwork()
函数依赖于IDS的顺序在数据帧中与它们关联。