3

我已经更新了我的 R 版本,包括所有包,并且功能arrangeGrob (Package gridExtra) 已经改变。

在我的旧版本 R 版本 3.1.3 上,我使用它来制作角标签:

加载 r 包

library(ggplot2)
library(grid)
library(gridExtra)

示例数据

a <- 1:20
b <- sample(a, 20)
c <- sample(b, 20)
d <- sample(c, 20)

创建数据框

mydata   <- data.frame(a, b, c, d)

创建示例图

myplot1  <- ggplot(mydata, aes(x=a, y=b)) + geom_point()
myplot2  <- ggplot(mydata, aes(x=b, y=c)) + geom_point()
myplot3  <- ggplot(mydata, aes(x=c, y=d)) + geom_point()
myplot4  <- ggplot(mydata, aes(x=d, y=a)) + geom_point()

设置角标签

 myplot1 <- arrangeGrob(myplot1, main = textGrob("A", x = unit(0, "npc")
     , y   = unit(1, "npc"), just=c("left","top"),
     gp=gpar(col="black", fontsize=18, fontfamily="Times Roman")))

 myplot2 <- arrangeGrob(myplot2, main = textGrob("B", x = unit(0, "npc")
     , y = unit(1, "npc"), just=c("left","top"),
     gp=gpar(col="black", fontsize=18, fontfamily="Times Roman")))

 myplot3 <- arrangeGrob(myplot3, main = textGrob("C", x = unit(0, "npc")
    , y  = unit(1, "npc"), just=c("left","top"),
    gp=gpar(col="black", fontsize=18, fontfamily="Times Roman")))

 myplot4 <- arrangeGrob(myplot4, main = textGrob("D", x = unit(0, "npc")
    , y = unit(1, "npc"), just=c("left","top"),
    gp=gpar(col="black",    fontsize=18, fontfamily="Times Roman")))

 grid.arrange(myplot1, myplot2, myplot3, myplot4) 

我得到了以下情节,这很好:

在此处输入图像描述

但在新的 R 版本 3.2.2 下,图像如下所示:

在此处输入图像描述

安排Grob为每个textGrob打开一个新图像,我在一页上得到了八张图片而不是四张。如何修复旧版本的 R 和 gridExtra 中的情节?

4

1 回答 1

1

来自 Kev 的评论:

对 gridExtra 进行了重写,它不(完全)向后兼容 - 可能是问题所在。看看新的 wiki cran.r-project.org/web/packages/gridExtra/vignettes/...。尝试将 main 更改为 top – user20650

于 2015-12-02T02:45:27.287 回答