2011-08-11 25 views
7

Tôi đang cố gắng tìm ra cách gọn gàng để xóa các yếu tố không được sử dụng khỏi một khía cạnh trong ggplot2. Dưới đây là một ví dụ tối thiểuXóa các yếu tố không được sử dụng khỏi một khía cạnh trong ggplot2

# DUMMY DATA 
mydf = data.frame(
    x = rpois(6, 25), 
    y = LETTERS[1:6], 
    cat = c(rep('AA', 3), rep('BB', 3))) 

# PLOT IT! 
p0 = ggplot(mydf, aes(x = x, y = y)) + 
    geom_point() + 
    facet_wrap(~ cat, ncol = 1) 

Từ cốt truyện bên dưới, bạn có thể thấy các yếu tố D, E và F được vẽ trong khía cạnh AA mặc dù không có dữ liệu tương ứng. Những gì tôi muốn là một cách để loại bỏ {D, E, F} từ khía cạnh AA và tương tự {A, B, C} từ khía cạnh BB.

Có cách nào gọn gàng để thực hiện việc này hay thậm chí là việc hack có thể chấp nhận được.

enter image description here

Trả lời

11

Tôi nghĩ rằng tất cả các bạn cần là scales = "free_y":

p0 = ggplot(mydf, aes(x = x, y = y)) + 
    geom_point() + 
    facet_wrap(~ cat, ncol = 1,scales = "free_y") 

p0 

enter image description here

+0

đẹp một. tôi nên đã đăng toàn bộ vấn đề đó là một trường hợp liên quan đến faceting và dọc dodging, nơi 'quy mô = miễn phí' không hoạt động. tôi sẽ biến nó thành một câu hỏi riêng. cảm ơn – Ramnath

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