Гранулы разного размера, пропорциональные оси x на ggplot 2 r
Ниже приведена ситуация:
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)
Различные грани масштабируются по x пределам на следующем рисунке:
ggplot(mydf, aes(X, Y, group= groups)) + geom_point()+
facet_grid (.~ group, scales = "free_x")
Поскольку общая ширина x имеет смысл, я хочу создавать грани различной ширины не только разного масштаба. Таким образом, ожидаемая грань 1 должна быть вдвое меньше 2.
![enter image description here]()
Ответы
Ответ 1
Если я правильно вас понимаю, space = "free_x"
делает то, что вы хотите.
library(ggplot2)
ggplot(mydf, aes(X, Y)) + geom_point()+
facet_grid (.~ groups, scales = "free_x", space = "free_x")
![enter image description here]()
И если вы хотите иметь такой же стиль маркировки по осям 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")
![enter image description here]()