分解图的每个顶点的不同顶点形状

different vertex shapes for each vertex of decomposed graph

我有一个非常大的二分网络模型,它是根据 500 万行数据集创建的。我分解了我的网络模型,因为我无法绘制这种大小的图形。现在我需要的是将分解图形一张一张地绘制出来。这没有问题。但是我想根据每个节点的属性绘制具有形状的图形。例如,我想要图 G 上的 "A" 属性为正方形,"B" 属性为三角形。除此之外,我想按属性添加顶点标签。这是我在创建二分 G 及其工作后绘制图形的第一个组件的代码:

    components <- decompose(G)
    plot(components[[1]]) 

我尝试过类似的方法来根据图形属性添加标签和更改顶点形状,但它没有用:

    plot(components[[1]], vertex.label= V(G)$attributes, 
    vertex.shape=c("square", "triangle"))

有谁能帮助我,我被困住了。非常感谢!

components函数returns组成组件的顶点列表。所以你需要遍历列表,创建一个子图并绘制。至于绘制属性,你需要提供一个可重现的例子来帮助我们。

library(igraph)
set.seed(8675309)

g <- sample_gnp(200, p = 0.01)
V(g)$name <- paste0("Node", 1:vcount(g))
V(g)$shape <- sample(c("circle","square"), vcount(g), replace = T)
clu <- components(g)
grps <- groups(clu)

lapply(grps, function(x) plot(induced_subgraph(g, x)))