Как повернуть аннотированный текст в ggplot2 (с примером)

Как повернуть аннотированный текст в ggplot2 (с примером)

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

ggplot(df) +
 geom_point(aes(x=x, y=y)) + 
 geom_text(aes(x=x, y=y, label=group), hjust= -0.3 , vjust= -0.1 , angle= 45 )

В этом конкретном примере мы используем аргумент угла , чтобы повернуть аннотированный текст на 45 градусов против часовой стрелки, и аргументы hjust и vjust , чтобы увеличить горизонтальное и вертикальное расстояние текста от точек на графике.

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: поворот аннотированного текста в ggplot2

Предположим, у нас есть следующий набор данных в R:

#create data frame
df <- data.frame(player=c('Brad', 'Ty', 'Spencer', 'Luke', 'Max'),
 points=c(17, 5, 12, 20, 22),
 assists=c(4, 3, 7, 7, 5))

#view data frame
df

 player points assists
1 Brad 17 4
2 Ty 5 3
3 Spencer 12 7
4 Luke 20 7
5 Max 22 5

Теперь предположим, что мы создали следующую диаграмму рассеивания в ggplot2 для визуализации этих данных:

library (ggplot2)

#create scatter plot with annotated labels
ggplot(df) +
 geom_point(aes(x=points, y=assists)) + 
 geom_text(aes(x=points, y=assists, label=player)) 

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

Мы можем использовать следующий синтаксис, чтобы повернуть метки и переместить их немного дальше от точек, чтобы их было легче читать:

library (ggplot2)

#create scatter plot with annotated rotated labels
ggplot(df) +
 geom_point(aes(x=points, y=assists)) + 
 geom_text(aes(x=points, y=assists, label=player), hjust= -.3 , vjust= -.1 , angle= 45 ) +
 ylim(3, 8) 

Обратите внимание, что теперь все метки повернуты на 45 градусов против часовой стрелки.

Не стесняйтесь экспериментировать с аргументами hjust , vjust и angle , чтобы получить аннотированный текст в любой позиции на графике.

Примечание.Мы также использовали аргумент ylim , чтобы увеличить пределы оси Y на графике, чтобы метка «Спенсер» в верхней части графика не была обрезана.

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

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

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

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