Как упорядочить элементы по оси x в ggplot2
Вы можете использовать следующий базовый синтаксис для упорядочивания элементов по оси X графика в ggplot2:
ggplot(df, aes(x=factor(x_var, level=c(' value1 ', ' value2 ', ' value3 ')), y=y_var)) + geom_col()
Следующие примеры показывают, как использовать этот синтаксис на практике.
Пример: упорядочить элементы по оси X в ggplot2.
Предположим, у нас есть следующий кадр данных в R, который показывает очки, набранные разными баскетбольными командами:
#create data frame
df <- data. frame (team=c('Mavs', 'Heat', 'Nets', 'Lakers'),
dots=c(100, 122, 104, 109))
#view data frame
df
team points
1 Mavs 100
2 Heat 122
3 Nets 104
4 Lakers 109
Если мы создадим гистограмму для визуализации очков, набранных каждой командой, ggplot2 автоматически отсортирует столбцы в алфавитном порядке:
library (ggplot2) #create bar plot ggplot(df, aes(x=team, y=points)) + geom_col()
Чтобы указать порядок столбцов по оси X, мы можем использовать аргумент уровня следующим образом:
library (ggplot2) #create bar plot with specific axis order ggplot(df, aes(x=factor(team, level=c(' Mavs ', ' Heat ', ' Nets ', ' Lakers ')), y=points)) + geom_col()
Бары теперь расположены в том порядке, который мы указали в аргументе уровня .
Вы также можете использовать xlab() , чтобы переименовать ось X во что-то более удобное для чтения:
library (ggplot2) #create bar plot with specific axis order ggplot(df, aes(x=factor(team, level=c(' Mavs ', ' Heat ', ' Nets ', ' Lakers ')), y=points)) + geom_col() + xlab(' Team ')
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в ggplot2:
Как повернуть метки осей в ggplot2
Как установить разрывы осей в ggplot2
Как установить пределы оси в ggplot2
Как изменить метки легенды в ggplot2