Принудительная установка оси X на обоих графиках в фасетной сетке, если значения X совпадают
У меня есть данные с около 30 категориями для оси X в двух группах для огранки. Я покажу это с некоторыми случайными данными:
dataf <- data.frame(x=c(1:30), A=rnorm(30,20,5), B=rnorm(30,15,0.5))
datam <- melt(dataf, id="x")
ggplot(datam, aes(factor(x), value)) +
geom_bar(stat="identity") +
facet_grid(variable ~ .)
Это просто замечательно, за исключением того, что было бы легче быстро считывать категории в верхней группе, если бы ось x была также воспроизведена на этом графике. тем не мение
ggplot(datam, aes(factor(x), value)) +
geom_bar(stat="identity") +
facet_grid(variable ~ ., scales="free")
не имеет значения для оси х, потому что, я думаю, значения одинаковы для обеих групп.
Как я могу принудительно воспроизвести ось X для верхней группы столбцов?
1 ответ
Решение
Попробуйте использовать facet_wrap
вместо:
ggplot(datam, aes(factor(x), value)) +
geom_bar(stat="identity") +
facet_wrap(~variable,nrow = 2,scales = "free")