如何使用par(new = T)绘制循环?

时间:2019-04-23 19:36:08

标签: r

我想使用par(new = T)在两个循环中绘制两个国家的值(来自不同数据集,但针对相同国家)的两组值,其中两个轴用于多个国家。但是,R会覆盖从最后一个国家开始的第二组数据。 在这里您可以看到结果 https://www.dropbox.com/s/9x0dn7oom5czpwm/Rplot02.jpg?dl=0

这是我的代码,仅作为2个国家/地区的示例(我有28个)。

par(mfrow=c(2,2))
par(mar = c(5,5,5,5), cex.axis=1)
for (i in colnames(DPreachdifft[,2:3])) {
  plot(DPreachdifft$Diff, DPreachdifft[[i]],
       type="p",col="red", xaxt="n", yaxt="n", 
       ylim = range(c(-25, 25)),
       xlim = rev(range(DPreachdifft$Diff)),
       ylab="delay(+) or advance(-) in years", xlab=NA, pch=16,
       main = i, adj=0)
  axis(side = 1, at=ticks,labels=ticks) 
  axis(side = 2)
  abline(h=0)
}
par(new=T)
for (i in colnames(NPreachdifft[,2:3])) {
  plot(NPreachdifft$Diff1, NPreachdifft[[i]],
  type="p",col="blue", xaxt="n", yaxt="n",
  ylim = range(c(-40, 40)),
  xlab=NA, ylab=NA, pch=16)
axis(side = 3, at=ticks1)
mtext(side = 1, text="difference in DP", line = 2, adj = 0.5)
mtext(side = 3, text="difference in NP", line = 2, adj = 0.5)
}

0 个答案:

没有答案