在图例下方添加其他文字(R + ggplot)

时间:2014-11-28 00:52:35

标签: r ggplot2 legend

假设我们有这个简单的情节:

ggplot(data = msleep, aes(x = log(bodywt), y = sleep_total)) + 
    geom_point(aes(color = vore)) + 
    theme(legend.position="bottom")

enter image description here

是否可以在图例项目下方添加文字?我知道如何在图例中添加标题(上图)。但是,我想说我想要下面写的其他一般信息。

很高兴找到解决方案。

谢谢! 马丁

1 个答案:

答案 0 :(得分:5)

这是一种可行的方法:

library(gridExtra)
library(grid)

p <- ggplot(data = msleep, aes(x = log(bodywt), y = sleep_total)) + 
    geom_point(aes(color = vore)) + 
    theme(legend.position="bottom", plot.margin = unit(c(1,1,3,1),"lines")) + 
    annotation_custom(grob = textGrob("Extra text.  Read all about it"),  
        xmin = 2, xmax = 2, ymin = -4.5, ymax = -4.55)


gt <- ggplot_gtable(ggplot_build(p))
gt$layout$clip[gt$layout$name=="panel"] <- "off"
grid.draw(gt)

enter image description here