Выравнивание ключей легенды и меток справа от поля легенды в ggplot2 - PullRequest
1 голос
/ 29 апреля 2019

У меня есть следующий фрейм данных, где я предсказываю y как функцию возраста и пола:

df = data.frame(
  age = c('old', 'old', 'young', 'young'),
  gender = c('male', 'female', 'male', 'female'),
  y = 1:4)

и соответствующий график:

ggplot(df, aes(x=age, y=y, fill = gender)) + 
  geom_col(position = 'dodge')

enter image description here

Я хотел бы проконтролировать внешний вид окна легенды.В частности, я бы хотел, чтобы весь блок был выровнен по правому краю (а не по левому краю).Итак, легенда ключа должна появиться с правой стороны поля, а слева от нее должны быть надписи.

Мне известен аргумент legend.text.align функции theme (), но он контролирует только расстояние между клавишами и соответствующей им меткой.

Любая идея, как вернуться к выравниванию

1 Ответ

2 голосов
/ 29 апреля 2019

Вы можете использовать guide_legend(label.position = ... для настройки положения этикетки, этикеток и т. Д.

ggplot(df, aes(x=age, y=y, fill = gender)) + 
  geom_col(position = 'dodge') +
  guides(fill = guide_legend(# title.hjust = 1, # adjust title if needed
                             label.position = "left",
                             label.hjust = 1)

enter image description here

Для получения дополнительной информации: https://ggplot2.tidyverse.org/reference/guide_legend.html

...