¿Cómo se supera la superposición de puntos sin fluctuación o la transparencia en ggplot2
-
21-09-2019 - |
Pregunta
Estoy empezando a utilizar ggplot2. Tengo alguna pequeña n (alrededor de 30 o menos) de datos granulares con las porciones de solapamiento. Ni jitter ni alfa (transparencia) son adecuados. En lugar de un Stripchart con la pila y offset hacerlo mejor, pero no sé cómo hacerlo en ggplot2. ¿Sabe usted?
Para ver lo que el resultado final debe ser hacer clic en este gráfico .
Aquí está la escritura que utilicé hace unos años.
stripchart(SystData$DayTo1Syst~SystData$strain,vertical=TRUE,method="stack",pch=19,offset=.3,xlab="Strain",main="Rapidity of Systemic Disease Onset",ylab="Days post inoculation")
Solución
# your data
df <- data.frame(gp = rep(LETTERS[1:5], each =8), y = sample(1:4,40,replace=TRUE))
# calculate offsets
df <- ddply(df, .(y, gp), transform, offset = (1:length(gp)-1)/20)
qplot(gp, y, data=df) + stat_identity(aes(as.numeric(gp)+offset)) + theme_bw()
Otros consejos
Puede utilizar position_dodge
.
df <- data.frame(gp = rep(LETTERS[1:5], each =8),
y = sample(1:4,40,replace=TRUE))
qplot(gp,y,data=df,order=y,position=position_dodge(width=0.5))
geom_dotplot de ggplot2
es probable que desee utilizar:
ggplot(insert your arguments here) + geom_dotplot(binaxis = "y", stackdir = "center")
Espero que esto ayude. Los resultados se ven muy limpias, que es lo que pienso que usted desea.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow