2016-11-08 4 views
8

würde Ich mag einige barplots auf den jeweils anderen mit facet_grid plotten:Drehen geschaltet Facette Etiketten in ggplot2 facet_grid

library(ggplot2) 

df <- group_by(mpg, manufacturer) %>% 
    summarise(cty = mean(cty), hwy = mean(hwy)) %>% 
    ungroup() 

df <- melt(df, id.vars = "manufacturer") 

ggplot() + 
    geom_bar(data =df, aes(x = variable, y = value), stat = "identity") + 
    facet_grid(manufacturer ~ ., switch = "y") 

Ich verwende das switch Argument von ggplot2::facet_grid() die Facette Etiketten lassen auf der y- angezeigt Achse statt auf jeder Facette. Problem ist, dass die Facettenbeschriftungen vertikal gezeichnet und daher beschnitten werden. Gibt es eine Möglichkeit, die Facetten-Markierungen horizontal zu plotten? Alle Fragen, die ich bisher gefunden habe, bezogen sich nur auf das Drehen der X-Achsen-Etiketten, nicht auf die Facetten-Etiketten.

Antwort

18

Sie müssen nur das Thema() und geben Sie den Winkel in strip.text.y

library(ggplot2) 
df <- group_by(mpg, manufacturer) %>% 
    summarise(cty = mean(cty), hwy = mean(hwy)) %>% 
    ungroup() 

df <- melt(df, id.vars = "manufacturer") 

ggplot() + 
    geom_bar(data =df, aes(x = variable, y = value), stat = "identity") + 
    facet_grid(manufacturer ~ ., switch = "y")+ 
theme(strip.text.y = element_text(angle = 180)) 
+1

Ehrfürchtig hinzuzufügen. Vielen Dank! – roming

Verwandte Themen