Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过回路R绘制多个双y轴图_R - Fatal编程技术网

通过回路R绘制多个双y轴图

通过回路R绘制多个双y轴图,r,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], a

我有以下代码来创建一个简单的分割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)
图书馆(动物园)
库(性能分析)
数据(edhec)

edhec我猜这大概就是你想要的

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)
  }
))
图书馆(动物园)
库(性能分析)
数据(edhec)
edhec=ncol(edhec)-1,“s”,“n”),
ylab=“”)
标准杆(新=真)
绘图(edhec[,x+1],col=“darkgreen”,ann=FALSE,xaxt=“n”,yaxt=“n”)
轴(侧=4)
}
))

为了达到您的愿望,您尝试了什么样的循环?此外,循环可能不是实现预期结果的最佳方式,但是如果我们能看到您的尝试,则更容易收集您的意图。摆脱
par(new=TRUE)
并使用任何标准方法将基本图放在一起:
par(mfrow)
par(mfcol)
布局
拆分。屏幕
。。。(它们都有帮助页面)。我用“循环”这个词的时候比较随意,因为我的大脑卡在VBA中——但lapply的变体也很理想。创建图矩阵的代码如下所示。我真的不知道如何将两者结合起来,或者这是否是正确的方法