通过循环R的多个双y轴图

时间:2017-07-28 15:42:02

标签: r

我有以下代码来创建一个简单的拆分y轴图。 我想循环(作为示例)edhec数据集,以便面板矩阵中的每个面板有两条线:左边的edhec的第一个向量和右边的一个后续向量:

library(zoo)
library(PerformanceAnalytics)

data(edhec)
edhec <- as.zoo(edhec)
plot(edhec[ ,1], ylab=colnames(edhec[ ,1]), lwd=2)
par(new=TRUE)
plot(edhec[ ,2], ann=FALSE, yaxt="n", col="darkgreen", lwd=1)
axis(side=4)

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

我猜这大致是你想要的?

library(zoo)
library(PerformanceAnalytics)

data(edhec)
edhec <- as.zoo(edhec)

par(mfrow=c(ceiling(ncol(edhec)/2), 2), 
  mar=c(0, 2, 0, 2), oma=c(2, 0, 1, 0), mgp=c(2, 0.7, 0))

invisible(lapply(1:ncol(edhec), 
  function(x) {
      par(new=FALSE)
      plot(edhec[, x], 
        xaxt=ifelse(x >= ncol(edhec) - 1, "s", "n"),
        ylab="")
      par(new=TRUE)
      plot(edhec[, x + 1], col="darkgreen", ann=FALSE, xaxt="n", yaxt="n")
      axis(side=4)
  }
))

enter image description here