ggplot2脚注

use*_*714 11 pdf r ggplot2

在使用ggplot2创建的绘图底部添加脚注的最佳方法是什么?我尝试过使用这里提到的逻辑组合http://www.r-bloggers.com/r-good-practice-%E2%80%93-adding-footnotes-to-graphics/以及ggplot2注释功能

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)))
Run Code Online (Sandbox Code Playgroud)

但是我收到错误"as.data.frame.default(x [[i]]中的错误,可选= TRUE,stringsAsFactors = stringsAsFactors):不能将类c("unit.arithmetic","unit")强制转换为data.frame".

rcs*_*rcs 12

我会用这样的东西:

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()
Run Code Online (Sandbox Code Playgroud)

  • 是的,这很棒.另外,如果你需要ggplot2为你的脚注留一点余地,试试这个:p + theme(plot.margin = unit(c(1,1,2,1),"lines")) (2认同)

Ric*_*loo 6

labs(caption = "my caption") 添加脚注:

ggplot(mtcars, aes(mpg, wt, colour = cyl)) + 
  geom_point() + 
  labs(caption = "(Pauloo, et al. 2017)")
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

  • 尝试 `+ theme(plot.caption = element_text(hjust = 0))`。对于居中图例,请使用“just = 0.5”。默认情况下,`hjust = 1`。`hjust` 代表“水平对齐”,范围从 0-1,从左到右,因此 0 表示一直向左,1 表示一直向右,0.5 表示在中间,依此类推。 (2认同)