2012-06-06 32 views
11

Tôi có dữ liệu với khoảng 30 danh mục cho trục X trong hai nhóm cho mặt cắt. Tôi sẽ hiển thị này với một số dữ liệu ngẫu nhiên:Buộc trục X trên cả hai biểu đồ trong một lưới khía cạnh khi các giá trị X giống nhau

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

Đây chỉ là đáng yêu, ngoại trừ việc nó sẽ được dễ dàng hơn để nhanh chóng đọc ra loại trên nhóm đầu nếu trục x được sao chép trên đồ thị quá. Tuy nhiên

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

không khác biệt gì với trục x bởi vì, tôi đoán, các giá trị giống nhau cho cả hai nhóm.

Làm cách nào để buộc trục X được sao chép cho nhóm trên cùng cũng như các thanh?

Trả lời

14

Hãy thử sử dụng facet_wrap thay vì:

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

enter image description here

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