Search code examples
rpdfggplot2

ggplot2 footnote


What is the best way to add a footnote to the bottom of a plot created with ggplot2? I've tried using a combination of the logic noted here as well as the ggplot2 annotate function.

p + annotate("text",label="Footnote",
  x=unit(1,"npc") - unit(2, "mm"),y=unit(2, "mm"),
  just=c("right", "bottom"),gp=gpar(cex= 0.7, col=grey(.5)))

but I am getting the error

Error in as.data.frame.default(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors) : cannot coerce class c("unit.arithmetic", "unit") into a data.frame


Solution

  • I would use something like that:

    pdf("filename.pdf", width=10, height=6) # open an appropriate graphics device
    print(p)
    makeFootnote() # from webpage above (uses grid.text; ggplot2 is based on grid)
    dev.off()