es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo agregar una frecuencia o número en la barra de escala de un gráfico de barras apiladas utilizando geom_text?

Soy un principiante en el uso de Rstudio, así que tengo algunos problemas que quiero preguntar.

Quiero hacer mi barra de escala para la composición de especies en 10 sitios, y agregar el número dentro de la barra de escala.

El resultado se vería así.

Quiero poner el número de frecuencia de la composición de especies dentro de la barra de escala. He intentado poner el código de geom_text, pero el resultado no es apropiado en absoluto.

Espero que haya una respuesta para solucionar esto. Muchas gracias.

Aquí está mi datos, así como el código que ejecuto en R.

“` r
datos <- as.matrix(data.frame(Bng = c(0, 0, 0, 41, 0, 9, 6, 25, 11, 2, 5, 7),
Krs = c(0, 25, 0, 82, 0, 0, 0, 0, 23, 0, 0, 0),
Bny = c(0, 0, 0, 0, 0, 0, 0, 23, 16, 0, 10, 0),
Kmb = c(1, 0, 0, 0, 20, 0, 0, 25, 8, 1, 0, 0),
Sgk = c(0, 0, 0, 18, 0, 2, 0, 11, 0, 0, 0, 0),
Lwb = c(1, 0, 2, 73, 0, 5, 0, 7, 5, 0, 0, 0),
Lws = c(0, 0, 0, 4, 0, 0, 0, 4, 0, 4, 1, 0),
Krp = c(0, 0, 0, 115, 0, 0, 2, 0, 2, 0, 0, 0),
Hrt = c(4, 0, 0, 0, 2, 22, 0, 7, 4, 2, 3, 0),
Gmb = c(0, 2, 0, 42, 2, 0, 0, 1, 6, 4, 3, 0)))
rownames(data) <- c(“Cbr”, “Csx”, “Rax”, “Hdd”, “Hlv”, “Mst”, “Mps”, “Mbr”, “Rfs”, “Rbn”, “Rct”, “Rps”)
data
barplot(data)
barplot(prop.table(data, 2))
library(reshape2)
datos_largos <- as.data.frame(data)
datos_largos$subgrupo <- rownames(datos_largos)
datos_largos <- melt(datos_largos, id.vars = “subgrupo”)
library(ggplot2)
ggp <- ggplot(datos_largos,
aes(x = variable,
y = value,
fill = subgroup)) +
geombar(position = “fill”, stat = “identity”)+
themebw()+
scalefillgrey()

ggp

ggp +
scaleycontinuous(labels = scales::percent_format())

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que estás tratando de crear un diagrama de barras con la frecuencia de la composición de especies en 10 sitios. Puedes utilizar la función geom_text() para agregar los números de frecuencia dentro de la barra de escala. Aquí tienes un ejemplo de cómo hacerlo:


    ggp +
    geom_text(aes(label = value), position = position_fill(vjust = 0.5)) +
    scale_y_continuous(labels = scales::percent_format())

    Esto debería agregar los números de frecuencia dentro de la barra de escala. Avísame si esto funciona para ti.

Comments are closed.