考虑以下示例:
dat <- matrix(rexp(240, rate=.1), ncol=6)
par(mfrow=c(3,2))
for (i in 1:6){
plot(dat[,i],xlab = "Day of year",col = "black",
ylab = expression(paste("Temperature ",degree,"C")))
}
这会产生 6 个子图,其中清楚地显示了 x 和 y 标签。
我想对此进行更改,以便 ylabel 仅显示在右侧的面板上(以避免重复)。所以,我写:
for (i in 1:6){
if (i %% 2 == 0){
plot(dat[,i],ylab = "",xlab = "Day of year",col = "black")
}
else {plot(dat[,i],ylab = expression(paste("Temperature ",degree,"C")),
xlab = "Day of year",col = "black")
}
}
产生:
我们可以看到现在只有偶数面板有 ylabel。我还想要这个图,以便只有面板 5 和 6 有 xlabel,我可以通过添加另一个 if 语句来实现。但是,做这么简单的事情似乎需要做很多工作。任何人都可以建议一种替代方法。由于我是 RI 的初学者,因此我更愿意首先使用一些 R 基本函数,即不是 lattice 也不是 ggplot。但是,如果没有更简洁的方法来使用基本功能,欢迎提出其他建议。