Tôi muốn vẽ nhiều ô trên/dưới nhau thay vì cạnh nhau trong R
sử dụng ggplot2
. Dưới đây là một ví dụ:Vẽ hai ô vuông tại một vị trí x bằng cách sử dụng R và ggplot2
library("ggplot2")
set.seed(1)
plot_data<-data.frame(loc=c(rep(1,200),rep(2,100)),
value=c(rnorm(100,3,.5),rnorm(100,1,.25),2*runif(100)),
class=c(rep("A",100),rep("B",100),rep("C",100)))
ggplot(plot_data,aes(x=loc,y=value,group=class)) +
geom_boxplot(fill=c("red","green","blue"))
Điều này dẫn đến cốt truyện sau:
Như bạn có thể thấy, boxplot xanh tập trung vào giá trị loc
của nó (2.0), trong khi màu đỏ và màu xanh lá cây chỉ có một nửa chiều rộng và được vẽ bên trái và bên phải của giá trị loc
được chia sẻ của họ (1.0). Tôi muốn làm cho cả hai đều có chiều rộng giống như màu xanh và vẽ chúng trực tiếp trên nhau.
Tôi làm cách nào để đạt được điều này?
Lưu ý rằng tôi chắc chắn rằng các ô vuông sẽ không chồng lấp cho dữ liệu tôi sẽ hiển thị, giống như chúng không cho dữ liệu ví dụ cụ thể.
Mặc dù nó ít rõ ràng hơn là "vị trí =" danh tính "' (như [được đề xuất] (http://stackoverflow.com/a/17575793/2451238) bởi [@joran] (http://stackoverflow.com/ người dùng/324364)), 'position = position_dodge (0)' có vẻ tương đương. – mschilli