在 igraph 上绘制邻居的问题
Issue with plotting neighbors on 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
我将 "D" 的邻居识别为:
neighborsD <- neighbors(graph, "D")
但是当我指示 R 绘图时 "neighborsD"...
plot(neighborsD)
...我得到的是图表而不是社会关系图,当我尝试对其进行 tkplot 时,出现错误 "not a graph object"。那么两个问题:
1) 如何围绕 "D" 绘制网络?
2) 如何绘制“D”、它的邻居以及邻居的邻居(距离 "D" 两步?
使用ego()
函数查找距离a节点一定距离的节点。然后使用 induced_subgraph
对主图进行子集化。例如1步之遥的是
plot(induced_subgraph(graph, ego(graph, 1, "D")[[1]]))
两步之遥的是
plot(induced_subgraph(graph, ego(graph, 2, "D")[[1]]))
我确定了所选节点的邻居,但无法绘制结果。以下面的例子,是从另一个问题中复制过来的:
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
我将 "D" 的邻居识别为:
neighborsD <- neighbors(graph, "D")
但是当我指示 R 绘图时 "neighborsD"...
plot(neighborsD)
...我得到的是图表而不是社会关系图,当我尝试对其进行 tkplot 时,出现错误 "not a graph object"。那么两个问题:
1) 如何围绕 "D" 绘制网络?
2) 如何绘制“D”、它的邻居以及邻居的邻居(距离 "D" 两步?
使用ego()
函数查找距离a节点一定距离的节点。然后使用 induced_subgraph
对主图进行子集化。例如1步之遥的是
plot(induced_subgraph(graph, ego(graph, 1, "D")[[1]]))
两步之遥的是
plot(induced_subgraph(graph, ego(graph, 2, "D")[[1]]))