Как использовать hjust и просто перемещать элементы в ggplot2


Вы можете использовать аргументы hjust и vjust для перемещения элементов по горизонтали и вертикали соответственно в ggplot2.

Следующие примеры показывают, как использовать hjust и vjust в различных сценариях.

Пример 1: перемещение позиции заголовка в ggplot2

Следующий код показывает, как создать диаграмму рассеяния в ggplot2 с заголовком в положении по умолчанию (выровнено по левому краю):

 library (ggplot2)

#create scatter plot with title in default position
ggplot(data=mtcars, aes(x=mpg, y=wt)) +
  geom_point() +
  ggtitle(" Plot Title ") 

Следующий код показывает, как центрировать заголовок с помощью hjust=0.5 :

 library (ggplot2)

#create scatter plot with title center-aligned
ggplot(data=mtcars, aes(x=mpg, y=wt)) +
  geom_point() +
  ggtitle(" Plot Title ") +
  theme(plot. title = element_text(hjust= .5 )) 

Примечание . Вы также можете использовать hjust=1 , чтобы выровнять заголовок по правому краю.

Пример 2. Перемещение положения метки оси в ggplot2.

Следующий код показывает, как создать гистограмму в ggplot2, в которой метки оси X повернуты на 90 градусов, чтобы их было легче читать:

 library (ggplot2)

#create data frame
df = data. frame (team=c('The Amazing Amazon Anteaters',
                       'The Rowdy Racing Raccoons',
                       'The Crazy Camping Cobras'),
                dots=c(14, 22, 11))

#create bar plot to visualize points scored by each team
ggplot(data=df, aes(x=team, y=points)) +
  geom_bar(stat=' identity ') +
  theme(axis. text . x = element_text(angle= 90 )) 

Мы можем использовать аргументы hjust и vjust , чтобы настроить метки оси X так, чтобы они более точно совпадали с делениями оси X:

 library (ggplot2)

#create data frame
df = data. frame (team=c('The Amazing Amazon Anteaters',
                       'The Rowdy Racing Raccoons',
                       'The Crazy Camping Cobras'),
                dots=c(14, 22, 11))

#create bar plot to visualize points scored by each team
ggplot(data=df, aes(x=team, y=points)) +
  geom_bar(stat=' identity ') +
  theme(axis. text . x = element_text(angle= 90 , vjust= .5 , hjust= 1 ) 

Пример 3: перемещение позиции текста в ggplot2

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

 library (ggplot2)

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

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

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

 library (ggplot2)

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

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

Мы также могли бы использовать положительное значение для vjust для перемещения текстовых элементов вниз по вертикали:

 library (ggplot2)

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

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

Аннотированный текст теперь расположен под каждой точкой графика.

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

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

Как изменить заголовок легенды в ggplot2
Как повернуть метки осей в ggplot2
Как исправить в R: Невозможно найти функцию «ggplot»

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

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