2017-04-24 46 views
0

我正在用748个顶点和2228个边做大型网络可视化。最大化网络可视化的阴谋

它看起来类似于由此产生的阴谋:

library(networkDynamic) 
library(network) 
library(sna) 
library(intergraph) 
library(igraph) 

# Set up data set.seed(123) 
g <- barabasi.game(750) 

# Plot data 
    plot.igraph(g, 
    margin = c(0, 0, 0, 0), 
    rescale = TRUE, 
    edge.arrow.size= .2, 
    vertex.size = 4, 
    vertex.label=NA) 

enter image description here

有什么办法避免聚集在一起的顶点?

我试图设置边距,使绘图区域可以最大化,但它不起作用。

+0

你为什么要加载所有这些软件包?我想你的代码只需要'igraph'。你可能想看看[这里](http://igraph.org/r/doc/layout_.html)。 – Axeman

+0

这是写,我从我正在工作的代码复制,并忘记删除它们。 –

回答

0

我认为最好使用qgraph来获得Fruchterman-Reingold布局。在igraph之前也可以这样做,但在最近的版本中,该算法已被重写,并且失去了该功能。这不是我的想法,我使用qgraph我曾在某处看过,但不记得在哪里,遗憾的信用。

library(igraph) 
library(qgraph) 

make_fr_layout <- function(g){ 
    # layout with qgraph 
    # g is an igraph object 
    el <- get.edgelist(g, names = FALSE) 
    lo <- qgraph.layout.fruchtermanreingold(el, vcount = vcount(g), 
              area = vcount(g)^2.3, 
              repulse.rad = vcount(g)^2.1, 
              niter = 3000) 
    lo 
} 

set.seed(123) 
g <- barabasi.game(750) 
lo <- make_fr_layout(g) 

cairo_pdf(filename = 'nice-layout.pdf') 

    plot.igraph(g, 
     layout = lo, 
     margin = c(0, 0, 0, 0), 
     rescale = TRUE, 
     edge.arrow.size = .2, 
     vertex.size = 4, 
     vertex.label = NA) 

dev.off()