在igraph上绘制邻居的问题

时间:2017-05-01 18:54:50

标签: r plot igraph

我识别所选节点的邻居但无法绘制结果。采用以下示例,从另一个问题复制:

edgelist <- read.table(text = "
A B
B C
C D
D E
C F
F G")

library(igraph)
graph <- graph.data.frame(edgelist)
str(graph)
#IGRAPH DN-- 7 6 -- 
# + attr: name (v/c)
# + edges (vertex names):
# [1] A->B B->C C->D D->E C->F F->G

我确定了&#34; D&#34;的邻居。用:

neighborsD <- neighbors(graph, "D")

但是当我指示R策划&#34;邻居D&#34; ...

plot(neighborsD)

...我得到一张图表而不是社交图,当我尝试tkplot时,我得到了错误&#34;而不是图形对象&#34;。所以有两个问题:

1)如何绘制网络,例如&#34; D&#34;?

2)我如何绘制“D”,它的邻居和邻居的邻居(两个步骤来自&#34; D&#34;?

1 个答案:

答案 0 :(得分:3)

使用ego()功能查找距离节点一定距离的节点。然后使用induced_subgraph对主图表进行子集化。例如,距离1步之遥的是

plot(induced_subgraph(graph, ego(graph, 1, "D")[[1]]))

enter image description here

和两步之后的那些

plot(induced_subgraph(graph, ego(graph, 2, "D")[[1]]))

enter image description here