使用 graph_from_data_frame 在 igraph 中绘制孤立节点。丢失的

Plotting isolated nodes in igraph with graph_from_data_frame. Missing

我正在使用 data.frames 和列 "from" 和 "to",我想从它们创建网络图。

例如:

mydata <- data.table(from=c("John", "John", "Jim", "Jesse"),
   to=c("John", "Jim", "Jack", NA))
mygraph <- graph_from_data_frame(d=mydata, directed=T)
plot(mygraph, vertex.label.dist=2) 

该 NA 的存在会产生错误。

如果我只是删除 NA 行,则不会绘制孤独的节点。

mydata <- data.table(from=c("John", "John", "Jim"),to=c("John", "Jim", "Jack"))
mygraph <- graph_from_data_frame(d=mydata, directed=T)
plot(mygraph, vertex.label.dist=2) 

我想得到与以下相同的结果:

g4 <- graph( c("John", "Jim", "Jim",  "Jack", "John", "John"), isolates=c("Jesse") )  
plot(g4,  vertex.label.dist=2) 

但使用两列,from 和 to。 我怎样才能得到相同的结果? 当 "from" 或 "to" 中的任何一个为 NA 时,只需绘制没有边缘且不会产生错误的节点。

获得所需内容的一种方法是省略单个节点,然后使用 add_vertices

添加它
library(igraph)
mydata <- data.frame(from=c("John", "John", "Jim"),
   to=c("John", "Jim", "Jack"))
mygraph <- graph_from_data_frame(d=mydata, directed=T)
mygraph = add_vertices(mygraph, 1, name="Jesse")
plot(mygraph, vertex.label.dist=2)