Как упорядочить бары на гистограмме ggplot2

Как упорядочить бары на гистограмме ggplot2

По умолчанию ggplot2 упорядочивает столбцы на гистограмме в следующем порядке:

  • Факторные переменные упорядочены по уровням факторов.
  • Символьные переменные упорядочены в алфавитном порядке.

Однако часто вас может заинтересовать упорядочение стержней в каком-то другом определенном порядке.

В этом руководстве объясняется, как это сделать, используя следующий фрейм данных:

#create data frame
df <- data.frame(team = c('B', 'B', 'B', 'A', 'A', 'C'),
 points = c(12, 28, 19, 22, 32, 45),
 rebounds = c(5, 7, 7, 12, 11, 4))

#view structure of data frame
str(df)

'data.frame': 6 obs. of 3 variables:
 $ team : Factor w/ 3 levels "A","B","C": 2 2 2 1 1 3
 $ points : num 12 28 19 22 32 45
 $ rebounds: num 5 7 7 12 11 4

Пример 1. Упорядочивание стержней на основе определенного порядка факторов

Если мы попытаемся создать гистограмму для отображения частоты по командам, столбцы автоматически появятся в алфавитном порядке:

library (ggplot2)

ggplot(df, aes(x=team)) +
 geom_bar ()

Следующий код показывает, как упорядочить бары в определенном порядке:

#specify factor level order
df$team = factor(df$team, levels = c('C', 'A', 'B'))

#create bar chart again 
ggplot(df, aes(x=team)) +
 geom_bar ()

Пример 2: упорядочивание столбцов на основе числового значения

Мы также можем заказать бары на основе числовых значений. Например, следующий код показывает, как упорядочить столбцы от наибольшей до наименьшей частоты с помощью функции reorder() :

library (ggplot2)

ggplot(df, aes(x= reorder (team, team, function (x)-length(x)))) +
 geom_bar () 
Порядок баров в гистограмме ggplot2

Мы также можем упорядочить бары от наименьшей до наибольшей частоты, убрав знак минус в вызове function() внутри функции reorder() :

library (ggplot2)

ggplot(df, aes(x= reorder (team, team, function (x) length(x)))) +
 geom_bar () 
Упорядочить бары от меньшего к большему в гистограмме ggplot2

Дополнительные ресурсы

Документация по функции geom_bar() .
Документация по функции reorder() .
Полный список руководств R по Statology.

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.