Como exibir porcentagens no histograma no ggplot2


Você pode usar a seguinte sintaxe básica para exibir porcentagens no eixo y de um histograma no ggplot2:

 library (ggplot2)
library (scales)

#create histogram with percentages
ggplot(data, aes (x = factor (team))) +  
  geom_bar( aes (y = (..count..)/ sum (..count..))) +
  scale_y_continuous(labels=percent)

Os exemplos a seguir mostram como usar essa sintaxe na prática.

Exemplo 1: histograma básico com porcentagens

O código a seguir mostra como criar um histograma para variáveis categóricas com porcentagens exibidas no eixo Y:

 library (ggplot2)
library (scales)

#define data frame
data <- data. frame (team = c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C', 'C') ,
                   points = c(77, 79, 93, 85, 89, 99, 90, 80, 68, 91, 92))

#create histogram with percentages
ggplot(data, aes (x = factor (team))) +  
  geom_bar( aes (y = (..count..)/ sum (..count..))) +
  scale_y_continuous(labels=percent) 

Exemplo 2: histograma com porcentagens (remover decimais)

Você também pode usar o argumento de precisão para exibir apenas números inteiros como porcentagens no eixo y:

 library (ggplot2)
library (scales)

#define data frame
data <- data. frame (team = c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C', 'C') ,
                   points = c(77, 79, 93, 85, 89, 99, 90, 80, 68, 91, 92))

#create histogram with percentages
ggplot(data, aes (x = factor (team))) +  
  geom_bar( aes (y = (..count..)/ sum (..count..))) +
  scale_y_continuous(labels = scales :: percent_format(accuracy = 1L )) 

Histograma ggplot2 com porcentagens

Exemplo 3: histograma personalizado com porcentagens

O código a seguir mostra como criar um histograma com porcentagens exibidas no eixo Y e um título personalizado, rótulos de eixo e cores:

 library (ggplot2)
library (scales)

#define data frame
data <- data. frame (team = c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C', 'C') ,
                   points = c(77, 79, 93, 85, 89, 99, 90, 80, 68, 91, 92))

#create histogram with percentages and custom aesthetics
ggplot(data, aes (x = factor (team))) +  
  geom_bar( aes (y = (..count..)/ sum (..count..)), fill = ' lightblue ') +
  scale_y_continuous(labels=percent) +
  labs(title = ' Breakdown by Team ', x = ' Team ', y = ' Percent of Total ') +
  theme_minimal()

Relacionado: Um guia completo para os melhores temas ggplot2

Recursos adicionais

Os tutoriais a seguir explicam como fazer outras operações comuns com histogramas em R:

Como alterar o número de caixas no histograma em R
Como plotar vários histogramas em R
Como criar um histograma de frequência relativa em R

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *