Tôi đã trở nên khá thích boxplots trong đó jittered điểm được overlain qua boxplots để đại diện cho dữ liệu thực tế, như sau:Có thể kết hợp position_jitter với position_dodge không?
set.seed(7)
l1 <- gl(3, 1, length=102, labels=letters[1:3])
l2 <- gl(2, 51, length=102, labels=LETTERS[1:2]) # Will use this later
y <- runif(102)
d <- data.frame(l1, l2, y)
ggplot(d, aes(x=l1, y=y)) +
geom_point(position=position_jitter(width=0.2), alpha=0.5) +
geom_boxplot(fill=NA)
(Đây là đặc biệt hữu ích khi có rất khác nhau số lượng các điểm dữ liệu trong mỗi ô.)
Tôi muốn sử dụng kỹ thuật này khi tôi cũng (ngầm) sử dụng position_dodge
để chia ô vuông bằng biến thứ hai, ví dụ:
ggplot(d, aes(x=l1, y=y, colour=l2)) +
geom_point(position=position_jitter(width=0.2), alpha=0.5) +
geom_boxplot(fill=NA)
Tuy nhiên, tôi không thể tìm ra cách để né tránh các điểm bằng các colour
biến (ở đây, l2
) và cũng jitter họ.
Bạn đã nhận được một số câu trả lời hay, vì vậy nhận xét này nhỏ hơn lý lịch. Khi tôi vật lộn với một vấn đề tương tự như bản thân mình một thời gian trước, tôi tình cờ gặp [bài thuyết trình này] (http://dl.dropbox.com/u/42707925/ggplot2/ggplot2slides.pdf). Kiểm tra ví dụ trên p. 19-20. Sự kết hợp của 'geom_jitter' và' dodge' dường như đã làm việc trong phiên bản trước của 'ggplot'. Không còn nữa ... – Henrik
Tôi cũng thực sự thích hiển thị các điểm thực tế cùng với ô của tôi, nhưng tôi có xu hướng sử dụng các ô chấm. Chúng tránh được vấn đề hốt hoảng và có thể mang lại cảm giác tốt về hình dạng của dữ liệu trong mỗi nhóm. Tuy nhiên, bạn vẫn phải tìm ra 'dodge' trong' geom_dotplot' thích hợp trong một trường hợp như thế này. – aosmith