Я пытаюсь использовать grid.arrange для отображения нескольких графиков на той же странице, сгенерированной ggplot. Графики используют одни и те же данные x, но с разными y переменными. Графики выходят с различными размерами из-за у-данных, имеющих разные масштабы.
Я попытался использовать различные параметры темы в ggplot2, чтобы изменить размер графика и переместить метку оси y, но никто не работал, чтобы выровнять графики. Я хочу, чтобы графики располагались в квадрате 2 x 2, чтобы каждый график имел одинаковый размер и выравнивание по оси x.
Вот несколько тестовых данных:
A <- c(1,5,6,7,9)
B <- c(10,56,64,86,98)
C <- c(2001,3333,5678,4345,5345)
D <- c(13446,20336,24333,34345,42345)
L <- c(20,34,45,55,67)
M <- data.frame(L, A, B, C, D)
И код, который я использую для построения:
x1 <- ggplot(M, aes(L, A,xmin=10,ymin=0)) + geom_point() + stat_smooth(method='lm')
x2 <- ggplot(M, aes(L, B,xmin=10,ymin=0)) + geom_point() + stat_smooth(method='lm')
x3 <- ggplot(M, aes(L, C,xmin=10,ymin=0)) + geom_point() + stat_smooth(method='lm')
x4 <- ggplot(M, aes(L, D,xmin=10,ymin=0)) + geom_point() + stat_smooth(method='lm')
grid.arrange(x1,x2,x3,x4,nrow=2)
Если вы запустите этот код, вы увидите, что нижние два графика имеют меньшую площадь заговора из-за большей длины единиц осей y.
Как сделать окна реального графика одинаковыми?