如何使用igraph绘制互连链接?

roc*_*wap 1 plot r igraph

我有这些载体:

>dput(SHLRK03)
c("CHSLSCR01", "SHLRK04", "SHLRK05", "WLLWCR01", "WLLWCR02", 
"WNBGORV01", "WNBGORV02", "WNBGORV03", "WNBGORV04", "WNBGORV05", 
"WNBGORV06")
> dput(SHLRK04)
 "SHLRK05"
> dput(WNBGORV01)
 c("WLLWCR02", "WNBGORV02", "WNBGORV03", "WNBGORV04", "WNBGORV05", 
 "WNBGORV06")
Run Code Online (Sandbox Code Playgroud)

我希望通过以下方式获得单个连接图:

  1. 从SHLRK03指向向量中的值.
  2. 从SHLRK03内的SHLRK04到SHLRK04中的值
  3. 从带有SHLRk04的WNBGORV01到WNBGORV01中的值

我还有几个相互连接的值.我试图在堆栈溢出和网络上搜索这种类型的图,但无法找到任何示例.

有人可以帮帮我吗?我感谢您的时间和精力.

chl*_*chl 7

一种方法是构建相应的邻接矩阵.例如,

vertices <- c("SHLRK03", unique(c(SHLRK03, SHLRK04, WNBGORV01)))
adj.mat <- matrix(0, nrow=length(vertices), ncol=length(vertices), 
                  dimnames=list(vertices, vertices))
adj.mat["SHLRK03", colnames(adj.mat) %in% SHLRK03] <- 1
adj.mat["SHLRK04", colnames(adj.mat) %in% SHLRK04] <- 1
adj.mat["WNBGORV01", colnames(adj.mat) %in% WNBGORV01] <- 1
library(igraph)
g <- graph.adjacency(adj.mat)
V(g)$label <- V(g)$name
plot(g)
Run Code Online (Sandbox Code Playgroud)

您可以在在线文档中找到多种图形布局,顶点标注等选项.这是上面代码的默认渲染.

在此输入图像描述

如果你有这样的几个向量,你当然可以通过一些辅助函数自动填充邻接矩阵.