Вы можете использовать следующий базовый синтаксис для поворота аннотированного текста на графиках в 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