studio - Cómo usar geom_dotplot() de ggplot2 con relleno y grupo
graficar en r ggplot (2)
Creo que tienes que agregar el argumento position = "dodge"
:
ggplot(tmpData, aes(x = x, y = y, fill = fill,)) +
geom_dotplot(binaxis = "y", stackdir = "center", dotsize = 4, position = "dodge")
Realmente me gusta la forma en que ggplot2::geom_dotplot()
puede apilar puntos en el medio de una categoría, pero parece que no puedo combinar eso con un color de relleno.
Veamos un ejemplo:
# test data
tmpData <- data.frame(x=c(rep(''x'', 3),rep(''y'', 3)), y=c(1,1,2,1,2,2), fill=rep(c(''A'', ''B'', ''B''), 2))
# Plot without fill color
ggplot(tmpData, aes(x=x, y=y)) +
geom_dotplot(binaxis = "y", stackdir = "center", dotsize=4)
Resultando en esta trama:
Pero cuando agrego el argumento de relleno:
ggplot(tmpData, aes(x=x, y=y, fill=fill)) +
geom_dotplot(binaxis = "y", stackdir = "center", dotsize=4)
El relleno parece sobrescribir la agrupación realizada en "x", lo que provoca que los dos puntos (x, 1) (x, 1) se contraigan. Me gustaría que tuvieran diferentes colores.
Cuando intento especificar el grupo, el color de relleno se ignora:
ggplot(tmpData, aes(x=x, y=y, group=x, fill=fill)) +
geom_dotplot(binaxis = "y", stackdir = "center", dotsize=4)
El colapso parece ser evitable habilitando grupos de pila:
ggplot(tmpData, aes(x=x, y=y, fill=fill)) +
geom_dotplot(binaxis = "y", stackgroups=TRUE, stackdir = "center", dotsize=4)
Pero luego pierdo el centrado de los datos en la "x" y "y" que se encuentran en las otras 3 parcelas.
¿Hay una manera de usar geom_dotplot()
con ambos grupos y rellenar?
Si está abierto a un poco de una solución pirata para obtener el aspecto que desea ... Puede sobrescribir el comando de relleno simplemente proporcionándole un vector de nombres de colores:
tmpData$colorname <- rep(c(''red'',''blue'',''blue''),2)
ggplot(tmpData, aes(x=x, y=y)) +
geom_dotplot(binaxis = "y", stackdir = "center", dotsize=4, fill=tmpData$colorname)