【问题标题】:How to plot interconnected links using igraph?如何使用 igraph 绘制互连链接?
【发布时间】:2012-07-08 12:40:05
【问题描述】:

我有这些向量:

>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")

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

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

我还有几个相互关联的价值观。我试图在堆栈溢出和网络上搜索此类图,但找不到任何示例。

有人可以帮我解决这个问题吗? 感谢您的时间和精力。

【问题讨论】:

    标签: r plot igraph


    【解决方案1】:

    一种方法是构建相应的adjacency matrix。例如,

    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)
    

    您可以在在线文档中找到用于图形布局、顶点标记等的多个选项。这是上面代码的默认渲染。

    如果您有多个这样的向量,您当然可以使用一些辅助函数自动填充邻接矩阵。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-19
      • 1970-01-01
      • 2014-03-25
      • 1970-01-01
      • 2015-01-10
      • 1970-01-01
      • 2019-02-16
      • 1970-01-01
      相关资源
      最近更新 更多