varias superponer studio los graficos grafico graficas ggplot escala ejes como cambiar barras avanzados r ggplot2 position geom-bar

studio - superponer graficas en r ggplot



Genera gráficos de barras apiladas emparejadas en ggplot(usando position_dodge solo en algunas variables) (1)

Una solución sería poner la interacción de la sample y el name en el eje x y luego ajustar las etiquetas para el eje x. El problema es que las barras no se ponen cerca la una de la otra.

ggplot(df, aes(x = as.numeric(interaction(sample,name)), y = count, fill = type)) + geom_bar(stat = "identity",color="white") + scale_x_continuous(breaks=c(1.5,3.5,5.5),labels=c("oak","birch","cedar"))

Otra solución es usar facetas para name y sample como valores de x.

ggplot(df,aes(x=sample,y=count,fill=type))+ geom_bar(stat = "identity",color="white")+ facet_wrap(~name,nrow=1)

Espero usar ggplot2 para generar un conjunto de barras apiladas en pares, muy parecido a esto:

Con los siguientes datos de ejemplo:

df <- expand.grid(name = c("oak","birch","cedar"), sample = c("one","two"), type = c("sapling","adult","dead")) df$count <- sample(5:200, size = nrow(df), replace = T)

Me gustaría que el eje x representara el nombre del árbol, con dos barras por especie de árbol: una barra para la muestra uno y una barra para la muestra dos. Entonces los colores de cada barra deberían estar determinados por tipo.

El siguiente código genera la barra apilada con colores por tipo:

ggplot(df, aes(x = name, y = count, fill = type)) + geom_bar(stat = "identity")

Y el siguiente código genera las barras esquivadas por muestra:

ggplot(df, aes(x = name, y = count, group = sample)) + geom_bar(stat = "identity", position = "dodge")

Pero no puedo evitar esquivar uno de los grupos (muestra) y apilar el otro agrupamiento (tipo):

ggplot(df, aes(x = name, y = count, fill = type, group = sample)) + geom_bar(stat = "identity", position = "dodge")