Принудительная установка оси 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")

Другие вопросы по тегам