różne rozmiary twarzy są proporcjonalne do osi X na ggplot 2 r


Następna sytuacja:
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))))ggplot(mydf, aes(X, Y, group= groups)) + geom_point()+ facet_grid (.~ group)

Poszczególne ściany są skalowane według granic x na poniższym wykresie:
ggplot(mydf, aes(X, Y, group= groups)) + geom_point()+ 
facet_grid (.~ group, scales = "free_x")

Ponieważ całkowita szerokość x ma znaczenie, chcę tworzyć twarze o różnych szerokościach, a nie tylko w różnych skalach. Dlatego oczekiwana szerokość fasety 1 powinna być równa połowie szerokości rozmiaru 2.
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Jeśli dobrze Cię rozumiem,
space = "free_x"
robi to, co chcesz w
facet_grid
. O ile wiem,
facet_wrap
nigdy nie obsługiwał argumentu spacji, ale wiele poleceń
facet_wrap
można podać jako polecenia
facet_grid
.
library(ggplot2)ggplot(mydf, aes(X, Y)) + geom_point()+ 
facet_grid (.~ groups, scales = "free_x", space = "free_x")

A jeśli chcesz mieć ten sam styl etykietowania na osiach X:
ggplot(mydf, aes(X, Y)) + geom_point()+ 
scale_x_continuous(breaks = seq(0,20,2)) +
facet_grid (.~ groups, scales = "free_x", space = "free_x")

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się