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))
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)