Saltar al contenido

cómo hacer un gráfico de barras apiladas individuales en ggplot2

Siéntete en la libertad de divulgar nuestra web y códigos en tus redes, apóyanos para aumentar esta comunidad.

Solución:

Debe crear una variable ficticia para el eje x. Entonces usa geom_col que es similar a geom_bar(stat = "identity") para trazar el gráfico de barras apiladas + geom_text para poner el texto en la barra.

La trama que mostraste usó theme_economist desde el ggthemes paquete.

library(tidyverse)

Ancestry <- data.frame(Race = c("European", "African American", "Asian", "Hispanic", "Other"), 
                       Proportion = c(40, 30, 10, 15, 5))

Ancestry <- Ancestry %>% 
  mutate(Year = "2006")

ggplot(Ancestry, aes(x = Year, y = Proportion, fill = Race)) +
  geom_col() +
  geom_text(aes(label = paste0(Proportion, "%")),
            position = position_stack(vjust = 0.5)) +
  scale_fill_brewer(palette = "Set2") +
  theme_minimal(base_size = 16) +
  ylab("Percentage") +
  xlab(NULL)

library(ggthemes)

ggplot(Ancestry, aes(x = Year, y = Proportion, fill = Race)) +
  geom_col() +
  geom_text(aes(label = paste0(Proportion, "%")),
            position = position_stack(vjust = 0.5)) +
  theme_economist(base_size = 14) +
  scale_fill_economist() +
  theme(legend.position = "right", 
        legend.title = element_blank()) +
  theme(axis.title.y = element_text(margin = margin(r = 20))) +
  ylab("Percentage") +
  xlab(NULL)

Creado el 2018-08-26 por el paquete reprex (v0.2.0.9000).

Podemos crear una variable ficticia para agrupar todas las entradas en un grupo y luego usar geom_bar para crear un diagrama de barras apiladas y usar geom_text para nombrar el Proportions.

library(ggplot2)

#Dummy group variable
Ancestry$row <- 1

#Create a label variable
Ancestry$percent <- (Ancestry$Proportion/sum(Ancestry$Proportion)) * 100

ggplot(Ancestry, aes(x = row,y = Proportion, fill = Race)) +
    geom_bar(stat="identity") + 
    geom_text(aes(label = percent), 
        position = position_stack(vjust = 0.5))

ingrese la descripción de la imagen aquí

valoraciones y comentarios

No se te olvide comunicar esta sección si lograste el éxito.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *