Как отсортировать метки оси 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() 

ggplot2 сортирует метки оси Y в алфавитном порядке

Обратите внимание, что метки на оси Y теперь расположены в обратном алфавитном порядке, начиная снизу.

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

В следующих руководствах объясняется, как выполнять другие распространенные задачи в ggplot2:

Как повернуть метки осей в ggplot2
Как установить разрывы осей в ggplot2
Как установить пределы оси в ggplot2
Как изменить метки легенды в ggplot2

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *