我使用“igraph”库制作了这个网络图:
library(tidyverse)
library(igraph)
set.seed(123)
n=15
data = data.frame(tibble(d = paste(1:n)))
relations = data.frame(tibble(
from = sample(data$d),
to = lead(from, default=from[1]),
))
data$name = c("new york", "chicago", "los angeles", "orlando", "houston", "seattle", "washington", "baltimore", "atlanta", "las vegas", "oakland", "phoenix", "kansas", "miami", "newark" )
graph = graph_from_data_frame(relations, directed=T, vertices = data)
(edge_fac <- forcats::as_factor(get.edgelist(graph)[,1]))
n2 <- as.integer(factor(data$name,levels = levels(edge_fac)))
V(graph)$color <- ifelse(data$d == relations$from[1], "red", "orange")
V(graph)$label <- paste0(data$name,"\n\n\n",n2)
plot(graph, layout=layout.circle, edge.arrow.size = 0.2, main = "my_graph")
是否可以将上述图形转换为“visnetwork”图形,使其看起来像这样?
我知道有一个函数(visIgraph()),用于将“igraph”图形转换为“visnetwork”图形:https://www.rdocumentation.org/packages/visNetwork/versions/2.1.0/topics/visNetwork-igraph 但我不确定是否可以将第一个具有“numeric”和“text”标签的“igraph”图形转换为交互式的“visnetwork”图形。
我尝试使用以下代码进行操作:
visIgraph(graph)
但这样创建的交互式图表没有“数字”标签。
这可行吗?
谢谢!
toVisNetworkData
和visIgraph
。 - G5W