在ggplot2中将按键图例和标签与图例框的右侧对齐

时间:2019-04-29 07:04:09

标签: r ggplot2 alignment legend

我有以下数据框,其中我根据年龄和性别预测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

我想控制图例框的外观。特别是,我希望将整个框向右对齐(而不是向左对齐)。因此,按键图例应出现在框的右侧,而左侧应是标签。

我知道theme()函数的legend.text.align参数,但它仅控制键及其对应标签之间的距离。

关于如何反转对齐的任何想法吗?

1 个答案:

答案 0 :(得分:2)

您可以使用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