sta*_*oob 5 javascript r graph igraph
我正在使用 R 编程语言。
我有以下图形网络数据:
library(igraph)
library(visNetwork)
from <- c("Boss", "TeamA", "TeamA", "TeamA", "SubteamA1", "SubteamA1", "SubteamA1", "SubteamA2", "SubteamA2", "SubteamA2", "SubteamA3", "SubteamA3", "SubteamA3")
to <- c("TeamA", "SubteamA1", "SubteamA2", "SubteamA3", "employee1", "employee2", "employee3", "employee4", "employee5", "employee6", "employee7", "employee8", "employee9")
a1 = data_frame <- data.frame(from, to)
from <- c("Boss", "TeamB", "TeamB", "TeamB", "SubteamB1", "SubteamB1", "SubteamB1", "SubteamB2", "SubteamB2", "SubteamB2", "SubteamB3", "SubteamB3", "SubteamB3")
to <- c("TeamB", "SubteamB1", "SubteamB2", "SubteamB3", "employee10", "employee11", "employee12", "employee13", "employee14", "employee15", "employee16", "employee17", "employee18")
a2 = data_frame <- data.frame(from, to)
final = rbind(a1, a2)
Run Code Online (Sandbox Code Playgroud)
然后我将其制作成图形网络并将其可视化:
# Convert the data frame to an igraph object
g <- graph_from_data_frame(final, directed=FALSE)
# Plot the graph
plot(g)
# Optional visualization
visIgraph(g)
visIgraph(g) %>%
visHierarchicalLayout(direction = "LR") %>%
visInteraction(navigation = "zoom") %>%
visInteraction(navigation = "drag") %>%
visOptions(selectedBy = "to",
highlightNearest = TRUE,
nodesIdSelection = TRUE)
Run Code Online (Sandbox Code Playgroud)
我的问题:我一直在尝试寻找是否有某种方法,当您运行图表时,它只在屏幕上显示一个节点(老板节点) - 当您单击老板节点时,它会扩展为 3 个节点(老板节点) ,a队,b队),如果你点击“a队”,它会展开为子队......但如果你双击,它会折叠回上一层。
我能找到的最接近的东西在这里:https ://github.com/datastorm-open/visNetwork/issues/307
但是在 R/javascript 中是否有一些更简单的方法可以做到这一点?最后,最终输出应该是一个可以离线查看的(独立)HTML 文件。
谢谢!
笔记:
选项可以visOptions与collapse参数一起使用:
:自定义选项。只是一个布尔值或一个命名列表。使用双击折叠/展开节点。在开发中。
因此,这使得双击节点时可以折叠。您可以更改形状,使其在折叠时具有不同的形状。这是一些可重现的代码:
library(igraph)
library(visNetwork)
visIgraph(g) %>%
visInteraction(navigation = "zoom") %>%
visInteraction(navigation = "drag") %>%
visOptions(collapse = list(enabled = TRUE, keepCoord = TRUE, clusterOptions = list(shape = "circle")))
Run Code Online (Sandbox Code Playgroud)

创建于 2023-01-30,使用reprex v2.0.2
当点击你的老板节点时:
或者以 TeamA 为例:
- 是否可以删除每个节点上的“集群”标签?
label = FALSE你可以这样添加:
visIgraph(g) %>%
visInteraction(navigation = "zoom") %>%
visInteraction(navigation = "drag") %>%
visOptions(collapse = list(enabled = TRUE, keepCoord = TRUE, clusterOptions = list(shape = "circle", label = FALSE)))
Run Code Online (Sandbox Code Playgroud)
B 队示例:
| 归档时间: |
|
| 查看次数: |
410 次 |
| 最近记录: |