Принудительная ось 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, потому что, я думаю, значения одинаковы для обеих групп.

Как я могу заставить ось X воспроизводиться и для верхней группы стержней?


person MattLBeck    schedule 06.06.2012    source источник


Ответы (1)


Попробуйте вместо этого использовать facet_wrap:

ggplot(datam, aes(factor(x), value)) + 
    geom_bar(stat="identity") + 
    facet_wrap(~variable,nrow = 2,scales = "free")

введите здесь описание изображения

person joran    schedule 06.06.2012