2016-05-17 3 views
0

Der Datensatz, den ich plotten muss, ist sehr groß und besteht aus zwei Modi. Eine handelt von Studenten und eine andere von Projekten, die sie teilen.Wie wählt man ein Layout für zwei Modi mit Hilfe von Sigma und vermeidet Überlappungen?

Ich benutze igraph und probierte mehrere Layouts. Keine von ihnen ist zufriedenstellend. Layout mit kk ist relativ informativ. Hier ist, wie es aussieht:

layout with kk

Grün und großen sind Projekte, während kleine und rosafarbene Studenten sind.

Ich möchte sie beschriften, damit mehr Informationen gewonnen werden können. Aber die Handlung ist so intensiv und hat viele Überschneidungen. Andere Layouts wären schlechter.

Kann jemand Hilfe geben? Wie kann man sich überlappen? Wie man Etiketten hinzufügt, nicht alle, aber zumindest für einige Hubs?

Hier sind meine Codes:

net <- graph_from_incidence_matrix(links) 
V(net)$color[1:2621] <- rgb(1,0,0,.5) 
V(net)$color[2622:4326] <- rgb(0,1,0,.5) 
V(net)$label <- V(net)$name 
V(net)$label.color <- rgb(0,0,.2,.5) 
V(net)$label[1:2621] <- NA 
V(net)$color[1:2621] <- rgb(1,0,0,.1) 
V(net)$size[1:2621] <- 3 
V(net)$size[2621:4326] <- 5 
E(net)$curved <- FALSE 
l1 <- layout_with_kk(net) 
plot(net, layout=l1,vertex.label=NA,edge.width =E(net)$weight) 

Antwort

0

Wenn Sie wissen, welche Labels Sie zeigen möchten, können Sie vertex.label einen Vektor zuordnen können, diejenigen angeben.

Auch das Entfernen der Farbe der Knotenrahmen über vertex.frame.color kann nützlich sein.

Zum Beispiel:

r <- make_ring(10) 
showlabels <- seq(1,10) 
showlabels[showlabels %% 2 != 0] <- NA 
plot(r, vertex.label = showlabels, vertex.frame.color = NA) 
Verwandte Themen