Ich möchte jeder Zeile eines einspaltigen, facettenumwickelten Plots in R eine benutzerdefinierte Breite zuweisen. (Ich weiß, dass dies kein Standard ist .ggplot2: Weisen Sie jeder Zeile eines facet_grid/facet_wrap Plots eine eigene Breite zu
group1 <- seq(1, 10, 2)
group2 <- seq(1, 20, 3)
x = c(group1, group2)
mydf <- data.frame (X =x , Y = rnorm (length (x),5,1),
groups = c(rep(1, length (group1)), rep(2, length(group2))))
plot1 <- ggplot(mydf, aes(X, Y)) + geom_point()
plot2 <- ggplot(mydf, aes(X, Y)) + geom_point()
grid.arrange(plot1, plot2, heights=c(1,2))
der obige Code gibt jede Zeile des Diagramms eine einzigartige Höhe::
)mit grid.arrange
kann ich eine eindeutige Höhe zu jeder Reihe von einer Facette umwickelte wie Plot mit dem folgenden Ausschnitt zuweisen
Ich frage mich, ob es möglich ist, eine eindeutige Breite zu jeder Zeile des Diagramms zuweisen, anstatt eine eindeutige Höhe zu jeder Zeile zuweisen. Ist das überhaupt möglich mit jeder ggplot2-Erweiterung?
Was planen Sie mit den Breiten zu tun? Möchten Sie in jeder Zeile weitere Diagramme hinzufügen oder dient dies visuellen Zwecken? Eine Idee könnte sein, jeder Parzelle Ränder hinzuzufügen. Etwas wie: 'plot1 <- ggplot (mydf, aes (X, Y)) + geom_point() + theme (plot.margin = Einheit (c (1,10,1,1)," Linien "))' where the '10' in der' plot.margin' wäre Ihr rechter Rand und könnte als Ihre Breite angesehen werden. –
Dank @MikeyMike im Wesentlichen das Ziel ist, dass die x-Achsen jeder Facette n Einheiten haben, wobei n die Anzahl der Beobachtungen für diese Facette ist. Jede Einheit sollte durch eine konsistente Menge an Raum repräsentiert sein, so dass Facetten, die mehr Beobachtungen sichtbar machen, physikalisch längere x-Achsen haben sollten. Der Randtrick kann funktionieren, wenn ich die Breite jeder Facette als Funktion ihrer Länge relativ zur maximalen Länge festlege! Ich werde das versuchen ... – duhaime
@MikeyMike Weißt du, wo man Dokumentation über die verfügbaren Einheiten für 'plot.margin' finden kann? Ich bete, dass es etwas in der Art von Prozent gibt, aber Angst wird es nicht geben. – duhaime