2017-04-24 1 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

Fruchterman-Reingold 레이아웃을 얻으려면 qgraph을 사용하는 것이 가장 좋습니다. 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() 
관련 문제