2012-06-06 20 views
11

Mam dane z około 30 kategoriami dla osi X w dwóch grupach dla faceting. Pokażę to z jakiegoś losowego danych:Wymuś oś X na obu wykresach w siatce aspektu, gdy wartości X są takie same

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 ~ .) 

enter image description here

To jest po prostu piękny, chyba że byłoby łatwiej szybko odczytać kategorii na najwyższym ugrupowania jeżeli oś x została odtworzona na tym wykresie także. Jednak

ggplot(datam, aes(factor(x), value)) + 
    geom_bar(stat="identity") + 
    facet_grid(variable ~ ., scales="free") 

nie ma znaczenia dla osi X, ponieważ, jak sądzę, wartości są takie same dla obu grup.

W jaki sposób można wymusić odwzorowanie osi X dla grupy górnej i prętów?

Odpowiedz

14

Spróbuj użyć facet_wrap zamiast:

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

enter image description here

Powiązane problemy