Як відобразити відсотки на гістограмі в ggplot2


Ви можете використовувати наступний базовий синтаксис для відображення відсотків на осі y гістограми в 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)

Наступні приклади показують, як використовувати цей синтаксис на практиці.

Приклад 1: Основна гістограма з відсотками

У наступному коді показано, як створити гістограму для категоріальних змінних із відсотками, відображеними на осі 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) 

Приклад 2: гістограма з відсотками (видалити десяткові дроби)

Ви також можете використовувати аргумент точності , щоб відображати лише цілі числа у відсотках на осі 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 )) 

ggplot2 гістограма з відсотками

Приклад 3: власна гістограма з відсотками

У наведеному нижче коді показано, як створити гістограму з відсотками, що відображаються на осі 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 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()

За темою: повний посібник із найкращих тем ggplot2

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші поширені операції з гістограмами в R:

Як змінити кількість бінів на гістограмі в R
Як побудувати декілька гістограм у R
Як створити гістограму відносної частоти в R

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *