En este artículo, discutiremos cómo agregar porcentaje o contar por encima del diagrama de barra de porcentaje en el lenguaje de programación R.
El método ggplot() de este paquete se usa para inicializar un objeto ggplot. Se puede usar para declarar el marco de datos de entrada para un gráfico y también se puede usar para especificar el conjunto de estética de la trama. La función ggplot() se usa para construir el objeto de trazado inicial y casi siempre va seguida de componentes para agregar al trazado.
Sintaxis:
ggplot(datos, mapeo = aes())
Parámetro:
- datos: el marco de datos utilizado para el trazado de datos
- mapeo: lista predeterminada de mapeos estéticos para usar en la trama.
geom_bar() se utiliza para dibujar un gráfico de barras.
Agregando conteo
Se utiliza el método geom_bar() que traza un número de casos que aparecen en cada grupo contra cada valor de barra. El uso del atributo «stat» como «identidad» traza y muestra los datos tal como son. El gráfico también se puede anotar con el texto que se muestra en la parte superior de las barras para trazar los datos tal como son.
Sintaxis:
geom_text(aes(etiqueta = ), vjust )
A la etiqueta se le puede asignar el valor de la columna para asignar el valor a cada barra del gráfico correspondiente a cada valor de barra.
Ejemplo:
R
library("ggplot") # creating a data frame data_frame <- data.frame(col1 = sample(letters[1:10]), col2 = 1:10, col3 = 1) # printing the data frame print ("Original DataFrame") print (data_frame) # plotting a barplot with counts ggplot(data_frame, aes(x = col1, y = col2, fill = col1)) + geom_bar(stat = "identity") + geom_text(aes(label = col2), vjust = 0)
Producción
[1] "Original DataFrame" col1 col2 col3 1 j 1 1 2 d 2 1 3 b 3 1 4 a 4 1 5 g 5 1 6 e 6 1 7 f 7 1 8 i 8 1 9 c 9 1 10 h 10 1
Agregando porcentaje
De manera similar, se pueden agregar porcentajes al gráfico, pero en este caso, la leyenda será continua, no discreta.
Ejemplo:
R
# importing the required libraries library("ggplot") library("scales") library("dplyr") # creating a data frame data_frame <- data.frame(col1 = sample(letters[1:10]), col2 = 1:10 ) # printing the data frame print ("Original DataFrame") print (data_frame) # plotting a barplot with percentages data_frame %>% count(col1 = factor(col1), col2 = col2) %>% mutate(col4 = prop.table(col2)) %>% ggplot(aes(x = col1, y = col4, fill = col2, label = scales::percent(col4))) + geom_col(position = 'dodge') + geom_text( vjust = 0) + scale_y_continuous(labels = scales::percent)
Producción
[1] "Original DataFrame" col1 col2 1 g 1 2 d 2 3 j 3 4 f 4 5 i 5 6 e 6 7 h 7 8 a 8 9 c 9 10 b 10