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

时间:2018-03-06 16:37:15

标签: r plot igraph bipartite vertex-attributes

我有一个非常大的二分网络模型,我是从500万行数据集中创建的。我分解了我的网络模型,因为我无法绘制这个大小的图形。现在我需要的是逐个绘制分解图形。这没有问题。但我想根据每个节点的属性绘制一个形状的图形。例如,我想在图G上使用“A”属性的方块,在“B”属性中使用三角形。除此之外,我想按属性添加顶点标签。这是我创建二分G及其工作后绘制图表的第一个组成部分的代码:

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

我尝试过这样的方法来添加标签并根据图形属性更改顶点形状,但它不起作用:

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

有没有人可以帮助我,我被困住了。非常感谢你!

1 个答案:

答案 0 :(得分:0)

components函数返回构成组件的顶点列表。因此,您需要遍历列表,创建子图和绘图。至于绘图属性,您需要提供一个可重现的示例供我们帮助。

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