正确绘制R中的大邻接矩阵

Dro*_*arb 10 r adjacency-list-model igraph adjacency-matrix

我有一个相当大(但相当稀疏)的邻接矩阵(500x500),我试图在视觉上代表.在我看来,类似于力导向图的东西是我最好的选择,在尝试找出实现它的最佳方法时,我遇到了R的多个资源.最有帮助的是http:/上的网络可视化/kateto.net/network-visualization虽然我之前从未使用过R,但它似乎有很多有用的功能可用于这种可视化.

我已设法在下面生成一个图,但图像相当小,节点堆叠.

在此输入图像描述

如果我打印到pdf而不是PNG,分辨率会略好一些,但我仍然存在堆叠问题.因此,我的问题是,如何在R中正确绘制一个大的邻接矩阵来解决这些问题.

到目前为止我的代码如下(最后几行我尝试绘制数据的几种不同方式).任何提示都非常感谢.先感谢您.

为方便起见,我在https://github.com/BStricklin/DataViz上传了我的GitHub引用的两个文件.

plot.new()
library('igraph')
setwd("D:/Downloads/polnet2016/Data files")

nodes2 <- read.csv("nodes.csv", header=T, as.is=T)
links2 <- read.csv("nodeAdjacency.csv", header=T, row.names=1)

links2 <- as.matrix(links2)

head(nodes2)
head(links2)

net2 <- graph_from_incidence_matrix(links2)
net2 <- graph_from_adjacency_matrix(links2, mode = "undirected", weighted = TRUE)
net2 <- simplify(net2, remove.multiple = F, remove.loops = T) 

V(net2)$label <- nodes2$id

deg <- degree(net2, mode="all")
V(net2)$size <- deg*3

#plot(net2)
#plot(net2, edge.label=round(E(net2)$weight, 3))
layout <- layout.reingold.tilford(net2)
#plot.igraph(net2,vertex.size=3,layout=layout.lgl)
plot.igraph(net2,vertex.size=3,vertex.label.cex=.5,layout=layout.fruchterman.reingold(net2, niter=10000))
Run Code Online (Sandbox Code Playgroud)

编辑:对于任何想知道我最终如何做到这一点的人,我不得不使用MATLAB并利用图形和绘图功能.它看起来像R图像一样令人讨厌,但是通过一些节点的自定义和缩放功能的使用,它运行得很好.我仍然会对如何在R中这样做感兴趣.

tor*_*ino 0

尝试增大绘图区域:

png("network_name.png", width = 15, height = 15, units = "in", res = 300)
plot.igraph(net2,vertex.size=3, 
vertex.label.cex=.5, 
layout=layout.fruchterman.reingold(net2, niter=10000)) 
dev.off()
Run Code Online (Sandbox Code Playgroud)