【发布时间】:2021-01-15 05:13:53
【问题描述】:
我有节点和边信息,并试图用它制作网络图。节点信息有1552行信息:
边缘信息有四列,共有 1203576 个条目。
使用我在下面的代码中使用的节点和边数据来制作网络图。
library(igraph)
net <- graph_from_data_frame(d=edges, vertices=nodes, directed=F)
plot(net, edge.arrow.size=.4,vertex.label=NA,
vertex.color=as.numeric(factor(nodes$type)))
Grouped.net = net
E(Grouped.net)$weight = 1
colnames(nodes)[4] <- "Clusters"
## Add edges with high weight between all nodes in the same group
for(Clus in unique(nodes$Clusters)) {
GroupV = which(nodes$Clusters == Clus)
Grouped.net = add_edges(Grouped.net, combn(GroupV, 2), attr=list(weight=500))
}
## Now create a layout based on G_Grouped
set.seed(567)
LO = layout_with_fr(Grouped.net)
# Generate colors based on media type:
colrs <- c("gray50", "yellow", "tomato")
V(net)$color <- colrs[V(net)$type_num]
plot(net, layout=LO, edge.arrow.size=0,vertex.label=NA, asp=0, vertex.size=4)
legend(x=-1.5, y=-1.1, c("typeA","typeB", "typeC"), pch=21,
col="#777777", pt.bg=colrs, pt.cex=2, cex=.8, bty="n", ncol=1)
我得到的情节如下所示:
上图中有5个簇。
-
如何增加集群之间的空间?如何将它们移远?以及如何调整边缘?它们看起来很奇怪。
-
图中的簇如何命名?
-
如何将节点 typeC 带到顶部?他们的数量很少。由于 typeA 的数量很大,typeC 在下面。
【问题讨论】:
-
您发布数据的站点需要安装适用于 Windows 的新驱动程序。我不会这样做,我也不建议其他人这样做。你能找到一些不需要我修改机器的方式来提供你的数据吗?
-
@G5W 我也将数据保存在 Dropbox 中并在这里分享
https://www.dropbox.com/sh/w10weg5k9qh1zq4/AABHY9XxA0ap_cxxi3q01C7Ea?dl=0请告诉我是否可以下载。 -
我能够获得 Dropbox 版本。谢谢。可能需要一段时间,但我会尽力回复
-
@G5W 当然可以
标签: r graph igraph network-analysis