Chciałbym wykreślić wiele boków powyżej/poniżej siebie zamiast obok siebie w R
używając ggplot2
. Oto przykład:Wykreślanie dwóch pól w jednej pozycji x przy użyciu R i 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"))
Wynika to w poniższym wykresie:
Jak widać, niebieskie boxplot jest wokół jej wartości loc
(2.0), natomiast czerwony a zielone mają tylko połowę szerokości i są drukowane po lewej i prawej stronie ich wspólnej wartości loc
(1.0). Chcę, aby oba z nich miały taką samą szerokość jak niebieskie i narysować je bezpośrednio nad sobą.
Jak mogę to osiągnąć?
Zauważ, że jestem pewien, że zaokrąglone pola nie nachodzą na dane, które mam zamiar wizualizować, tak samo jak nie dla podanych danych przykładowych.
Podczas gdy czyta mniej wyraźnie jako "position =" identity "(jak [proponowane] (http://stackoverflow.com/a/17575793/2451238) przez [@joran] (http://stackoverflow.com/ users/324364)), 'position = position_dodge (0)' wydaje się być równoważne. – mschilli