调整ggplot2中图例标题的位置和字体大小

29

我正在调整ggplot2标签的字体大小,以使它们在大格式下更易读。这很有效,但图例标题除外。以下代码说明了这一点:

library(ggplot2)
p <- ggplot(diamonds, aes(carat, price, colour=cut)) + geom_point() +
  xlab("Carat") +
  ylab("Price") +
  opts(legend.position=c(0.85, 0.3)) +
  opts(axis.title.x=theme_text(size=16)) +
  opts(axis.title.y=theme_text(size=16, angle=90)) + 
  opts(plot.title=theme_text(size=20)) +
  opts(legend.text=theme_text(size=14)) +
  opts(legend.title=theme_text(size=14)) +
  opts(title="Diamond Prices")
p
调整大小后的图例标题不再正确对齐于图例框中,而是向左突出。对于较长的标题效果更糟。我尝试了定义vjust和hjust参数的自定义值,但似乎没有响应。是否有方法可以调整调整大小后的图例标题的对齐方式?

对于ggplot2 3.0及以上版本,请遵循@Amm的解决方案。 - Sumax
如果您需要更改图例标题:p + guides(fill=guide_legend(title="新图例标题")) - Sumax
2个回答

44
如果您正在使用ggplot 0.9.1版本,则可以使用以下方法更改图例标题的位置和大小。
p + theme(legend.position=c(0.85, 0.3),legend.title=element_text(size=14))

18

是的,使用新版本0.9.0的一个功能guides

p + guides(colour = guide_legend(title.hjust = 0.5))

您可以在这里阅读有关guides的内容。


1
如果您需要更改图例标题:p + guides(fill=guide_legend(title="新图例标题")) - Sumax

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接