Khi bạn phát hiện ra, không có giải pháp dễ dàng cho điều này, nhưng nó xuất hiện rất nhiều. Vì loại điều này được hỏi thường xuyên như vậy, tôi thấy hữu ích khi giải thích lý do tại sao điều này rất khó và đề xuất giải pháp tiềm năng.
Kinh nghiệm của tôi đã được rằng người đến ggplot2 hoặc mạng đồ họa hiểu lầm cơ bản mục đích của faceting (hoặc trellising, trong lưới). Tính năng này được phát triển với ý tưởng rất cụ thể trong tâm trí: hình ảnh hóa dữ liệu trên nhiều nhóm mà chia sẻ thang tỷ lệ chung. Nó xuất phát từ một cái gì đó gọi là nguyên tắc của bội số nhỏ, được tán thưởng bởi Tufte và những người khác.
Đặt các bảng cạnh nhau với các thang rất khác nhau là điều mà các chuyên gia thiết kế trực quan sẽ có xu hướng tránh, vì nó có thể gây hiểu lầm tốt nhất. (Tôi không mắng bạn ở đây, chỉ giải thích lý do ...)
Nhưng tất nhiên, một khi bạn có công cụ tuyệt vời này, bạn không bao giờ biết cách mọi người sẽ sử dụng nó. Vì vậy, nó được kéo dài: các yêu cầu đi vào cho khả năng cho phép các quy mô để thay đổi theo bảng điều khiển, và để thiết lập các khía cạnh khác nhau của cốt truyện riêng cho mỗi bảng. Và do đó, việc có mặt trong ggplot2 đã được mở rộng vượt ra ngoài mục đích ban đầu của nó.
Một hệ quả của việc này là một số điều khó thực hiện đơn giản chỉ vì mục đích thiết kế ban đầu của đối tượng địa lý. Đây có thể là một ví dụ như vậy.
Ok, giải thích đầy đủ. Đây là giải pháp của tôi.
Bí quyết ở đây là để nhận ra rằng bạn không vẽ biểu đồ có cùng tỷ lệ. Đối với tôi, điều đó có nghĩa là bạn thậm chí không nên nghĩ đến việc sử dụng faceting. Thay vào đó, hãy từng lô riêng biệt, và sắp xếp chúng lại với nhau trong một cốt truyện:
library(gridExtra)
p1 <- ggplot(subset(melted.df,variable == 'dollars'),
aes(x = value)) +
facet_wrap(~variable) +
geom_density() +
scale_x_log10(labels = dollar_format())
p2 <- ggplot(subset(melted.df,variable == 'counts'),
aes(x = value)) +
facet_wrap(~variable) +
geom_density()
grid.arrange(p1,p2)
Tôi vừa mới đoán vào những gì geom_*
bạn muốn sử dụng, và tôi chắc chắn điều này là không thực sự những gì bạn muốn âm mưu, nhưng ít nhất nó minh họa nguyên tắc.
không dễ, tôi nghĩ ... –
Vâng. Shucks. Tôi vừa xem qua liên kết này, nơi ai đó gặp sự cố tương tự: http://comments.gmane.org/gmane.comp.lang.r.ggplot2/4496. –
Có lẽ dễ dàng hơn để thực hiện hai ô riêng biệt và sắp xếp chúng lại với nhau. –