2017-04-24 1 views
0

Je fais une grande visualisation de réseau avec 748 sommets et 2228 bords.Maximiser l'intrigue dans la visualisation de réseau

Il ressemble à l'intrigue produit dans ce:

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

Est-il possible d'éviter les sommets de clusters ensemble?

J'ai essayé de définir la marge de sorte que la zone de traçage puisse être maximisée, mais cela ne fonctionne pas.

+0

Pourquoi chargez-vous tous ces paquets? Votre code n'a besoin que de 'igraph', je suppose. Vous pourriez vouloir regarder [ici] (http://igraph.org/r/doc/layout_.html). – Axeman

+0

c'est écrire, je copie cela à partir des codes sur lesquels je travaille et j'ai oublié de les supprimer. –

Répondre

0

Je pense qu'il est préférable d'utiliser qgraph pour obtenir une disposition de Fruchterman-Reingold. Avant le igraph pourrait aussi le faire, mais dans la version récente, l'algorithme a été réécrit et il a perdu cette fonctionnalité. Ce n'était pas mon idée d'utiliser qgraph J'ai vu quelque part mais ne me souviens pas où, désolé pour les crédits manquants.

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