Ich versuche eine Karte der Vereinigten Staaten in mehrere Fenster zu teilen (von denen einige den gleichen Zustand zweimal enthalten). Ich möchte, dass die Skalen konstant bleiben (damit die Karten nicht verzerrt sind), aber auch den Abstand zwischen den Karten minimieren. Ich kann facet_wrap nicht benutzen (wegen der überlappenden Natur der Regionen - und trotzdem kann facet_wrap keine festen Skalen haben und unterschiedliche xlims für jedes Fenster haben). Irgendwelche Vorschläge, wie Sie den Abstand zu den Ergebnissen verbessern können?Anordnen von ggplot mehreren Objekten bei konstanter Höhe
require(data.table)
require(ggplot2)
require(maps)
require(gridExtra)
all_states <- as.data.table(map_data("state"))
setnames(all_states,"region","state")
##define regions with overlapping states
weco.states <- c("oregon","washington","california")
west.states <- c("washington","montana", "idaho","utah","nevada","arizona","new mexico",
"wyoming","colorado","south dakota","texas")
east.states <- c(setdiff(unique(all_states$state), union(weco.states,west.states)),
"texas","south dakota")
all_states[,c("weco","west","east"):=FALSE]
all_states[state%in% weco.states, weco:=TRUE]
all_states[state%in% west.states, west:=TRUE]
all_states[state%in% east.states, east:=TRUE]
p.regbase <- ggplot() + coord_equal() +ylim(c(25,50))
p.weco <- p.regbase + geom_polygon(data=all_states[(weco),], aes(x=long, y=lat, group = group),colour="white", fill="grey")
p.west <- p.regbase + geom_polygon(data=all_states[(west),], aes(x=long, y=lat, group = group),colour="white", fill="grey")
p.east <- p.regbase + geom_polygon(data=all_states[(east),], aes(x=long, y=lat, group = group),colour="white", fill="grey")
print(arrangeGrob(p.weco,p.west,p.east,ncol=3,nrow=1))
je nachdem, wie ich das Grafikfenster in der Windows-GUI die Größe, die Ergebnisse sind entweder schlecht (Maßstab unterschiedlich)
oder anständig (gleiche Höhe), aber es gibt zu viel Raum: Wie kann Ich werde den zusätzlichen Raum loswerden?
Sie passieren können 'Breite = Einheit (C (1, 2, 3), "null")' 'zu arrangeGrob' und zwicken manuell die relativen Faktoren. – baptiste
Dies geht nicht auf die Tatsache ein, dass arraygrob Leerzeichen um das erste Diagramm auffüllt. – Michael
Ich sehe nicht, wie dies das Problem behoben hat. Wenn es möglich ist, könnten Sie das demonstrieren? Ich habe voll verwendbaren Beispielcode zur Verfügung gestellt ... – Michael