2016-11-08 18 views
8

Tôi muốn vẽ một số barplots trên đầu trang của mỗi sử dụng facet_grid khác:Xoay chuyển nhãn khía cạnh trong 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") 

tôi sử dụng switch đối số của ggplot2::facet_grid() để cho các nhãn khía cạnh được hiển thị trên y- trục thay vì trên đầu mỗi khía cạnh. Vấn đề là các nhãn khía cạnh được vẽ theo chiều dọc và do đó bị cắt. Có cách nào để vẽ các facet -labels theo chiều ngang? Tất cả các câu hỏi mà tôi đã tìm thấy cho đến nay chỉ liên quan đến việc xoay các nhãn trục x chứ không phải các nhãn khía cạnh.

Trả lời

18

Bạn chỉ cần thêm các chủ đề() và xác định góc trong 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

ảnh vui nhộn. Cảm ơn! – roming

Các vấn đề liên quan