首先,我要感谢 Baptiste 爵士帮助我改进 R 脚本,使用 gtable/textGrob 在组合图的左下角添加标题,如下所示:
library(grid)
library(gridExtra)
library(ggplot2)
p1 <- p2 <- ggplot()
g1 <- ggplotGrob(p1)
g2 <- ggplotGrob(p2)
g <- rbind(g1, g2)
caption <- textGrob("Figure 1. This is a caption", hjust=0, x=0)
g <- gtable::gtable_add_rows(g, unit(2,"mm") + grobHeight(caption), -1)
g <- gtable::gtable_add_grob(g, caption, nrow(g), l = 4, r = ncol(g))
grid.newpage()
grid.draw(g)
不过,我还想补充两点:
(1) 在标题中插入学名,该学名应以斜体书写。
- 例如,根据上面提到的标题,我只想将“is”一词斜体化,而其余部分则采用纯文本形式。
(2) 我还会在标题中添加符号,例如点形状=c(1,22);颜色=c(“黑色”,“红色”);填充=c(“红色”,“黑色”)。
我要怎么做这些呢?我是 R 程序的新手,因此非常感谢您的帮助。谢谢。
UPDATE:
我已经使用以下脚本在 @Docconcoct、@user20650 和 @baptiste 的帮助下解决了查询 1:
library(grid)
library(gridExtra)
library(ggplot2)
g1 <- ggplotGrob(pl)
g2 <- ggplotGrob(pl1)
g <- rbind(g1, g2)
caption <- textGrob(expression(paste("Figure 1. This", italic(" is"), " a caption")), hjust=0, x=0)
g <- gtable::gtable_add_rows(g, unit(2,"mm") + grobHeight(caption), -1)
g <- gtable::gtable_add_grob(g, caption, nrow(g), l = 4, r = ncol(g))
grid.newpage()
grid.draw(g)
对于查询 2,正如 @baptiste 爵士在我给他的原始电子邮件中所述,我已经有了关于组合图的图例。然而,在图标题中,我需要说明图例中的这些符号的含义,以及绘图的一些其他细节。根据巴蒂斯特爵士给出的例子,我需要在标题中包含supp的含义,以及OJ(黑圈)和VC(黑三角形)的符号。
再次非常感谢!