【发布时间】:2016-09-18 16:47:16
【问题描述】:
是否可以调整 visNetwork 的选项(例如 visLayout、visOptions 或 visPhysics)以获得类似于思维导图的网络可视化?
这是我在R 中使用visNetwork 绘制相同数据的可重现示例:
nodes <- structure(list(id = 1:22, label = structure(c(14L, 20L, 19L,
16L, 12L, 18L, 2L, 17L, 22L, 8L, 13L, 3L, 4L, 5L, 6L, 7L, 21L,
15L, 9L, 1L, 10L, 11L), .Label = c("A seemengly impossible mission\n",
"Another \n", "Detail 1\n", "Detail 2\n", "Detail 3\n", "Detail 4\n",
"Detail 5\n", "Do you know where is Dover?\n", "Dover Castle\n",
"Finally, I'm the fifth\n", "I'm alone", "I'm relatively short\n",
"Let's say there is a third one\n", "Main topic\n", "Operation Dynamo\n",
"or, I'm even longer and perhaps I need some more space\n", "Running out of imagination\n",
"Shorter\n", "Some longer text goes here\n", "Thing 1\n", "Thing number 4\n",
"What can happen?\n"), class = "factor"), shape = structure(c(1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L), class = "factor", .Label = "box")), .Names = c("id",
"label", "shape"), row.names = c(NA, -22L), class = "data.frame")
edges <- structure(list(from = c(1L, 2L, 2L, 2L, 2L, 1L, 7L, 7L, 7L, 1L,
11L, 11L, 11L, 11L, 11L, 1L, 17L, 17L, 17L, 1L, 21L), to = 2:22,
arrows = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = "to", class = "factor")), .Names = c("from",
"to", "arrows"), row.names = c(NA, 21L), class = "data.frame")
library(visNetwork)
visNetwork(nodes, edges) %>%
visOptions(highlightNearest = TRUE, nodesIdSelection = TRUE) %>%
visLayout(randomSeed = 1)
这段代码产生了这个可视化:
所以你可以看到第一个图更干净,更容易阅读和使用。是否可以调整visNetwork参数(vis.js参数),使结果与这里的第一个图比较相似?
基本上,它就像有一个中心主题,然后是围绕主题呈放射状排列的下一个级别主题,并且进一步的级别相互关联(类似于列表)。
【问题讨论】:
-
也许看看
radialNetwork()来自networkD3 包