Как отсортировать метки оси y по алфавиту в ggplot2
Вы можете использовать следующий базовый синтаксис для сортировки меток оси Y в алфавитном порядке в ggplot2:
#sort y-axis variable in alphabetical order df$y_var<- factor(df$y_var, levels=rev(sort(df$y_var))) #create scatter plot with y-axis in alphabetical order ggplot(df, aes(x=x_var, y=y_var)) + geom_point()
В следующем примере показано, как использовать этот синтаксис на практике.
Пример. Сортировка меток оси Y в алфавитном порядке в ggplot2.
Предположим, у нас есть следующий кадр данных в R, который показывает очки, набранные разными баскетбольными командами:
#create data frame
df <- data. frame (team=c('B', 'D', 'E', 'F', 'A', 'C', 'H', 'G'),
points=c(22, 12, 10, 30, 12, 17, 28, 23))
#view data frame
df
team points
1 B 22
2 D 12
3 E 10
4 F 30
5 to 12
6 C 17
7:28 a.m.
8 G 23
Если мы создадим диаграмму рассеяния с точками на оси X и командой на оси Y, ggplot2 автоматически отобразит команды в алфавитном порядке (начиная снизу):
library (ggplot2) #create scatterplot ggplot(df, aes(x=points, y=team)) + geom_point(size= 2 )
Обратите внимание, что метки на оси Y перечислены в алфавитном порядке от А до Я, начиная снизу.
Чтобы расположить метки оси Y в обратном алфавитном порядке, мы можем использовать следующий код:
library (ggplot2) #sort y-axis variable in alphabetical order df$team<- factor(df$team, levels=rev(sort(df$team))) #create scatter plot with y-axis in alphabetical order ggplot(df, aes(x=points, y=team)) + geom_point()
Обратите внимание, что метки на оси Y теперь расположены в обратном алфавитном порядке, начиная снизу.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в ggplot2:
Как повернуть метки осей в ggplot2
Как установить разрывы осей в ggplot2
Как установить пределы оси в ggplot2
Как изменить метки легенды в ggplot2