R中的自动多绘图功能

时间:2013-01-11 01:23:29

标签: r plot ggplot2

我有两组时间序列变量。

WSN = c(HMn25_29,HMn28_29,HMn29_29)
Ref = c(suplmentryfor29,suplmentryob29)

我希望有一些图表显示WSN元素的元素为Ref。 换句话说,我想想象{HMn25_29,suplmentryfor29},{HMn28_29,suplmentryfor29},{HMn28_29,suplmentryfor29},{HMn25_29,suplmentryob29},{HMn25_29,suplmentryob29},{HMn25_29,suplmentryob29}。

预期结果:

enter image description here

WSN的示例数据:

                    dt   temp
1 2007-09-29 00:00:00 -1.874500
2 2007-09-29 01:00:00 -1.693667
3 2007-09-29 02:00:00 -1.766667
4 2007-09-29 03:00:00 -1.928667
5 2007-09-29 04:00:00 -2.132581
6 2007-09-29 05:00:00 -1.752258

参考数据示例:

           HMn29_29.h   V1
1 2007-09-29 00:00:00 -1.8
2 2007-09-29 01:00:00 -1.9
3 2007-09-29 02:00:00 -2.4
4 2007-09-29 03:00:00 -2.3
5 2007-09-29 04:00:00 -2.3
6 2007-09-29 05:00:00 -2.4

此外,我有代码来单独绘制。 单独绘制变量的代码:

plot29 <- list(HMn25_29,HMn28_29,HMn29_29,HMn31_29,HMn32_29,suplmentryfor29,suplmentryob29)
Mainn <- c('Node 25','Node 28','Node 29','Node 31','Node 32', 'MetoSwiss Forecast Grid Point', "MetoSwiss Sensing Station")
par(mfrow=c(1,2))
for (i in seq_along(plot29))  {
  plot(plot29[[i]], type = "o", pch = 16, lty = 2, col = "Black", xlab = "Hour  (2007/09/29)" , ylab = "Ambient Tempreture")
  title(Mainn[[i]])
}

现在,我需要一个自动函数来获取列表并以二乘二的方式显示上述属性的图,其中x轴表示时间日期,y轴表示相同比例的变量的绝对值,比方说-2 ~10。此外,每个情节应包括传奇。

1 个答案:

答案 0 :(得分:0)

R中的ts.plot和plot.ts函数都允许你绘制多条线到一个图,也许你可以试试吗?这是一个简单的例子:

a<-c(1:5)
b<-c(2:6)
ts.plot(cbind(a,b))

另一种方法是在制作新图形之前使用“par(new = TRUE)”,告诉R将新图形放在上次使用的设备中,而不清除旧图形。这不是很整洁,但它可以给你更多的灵活性。如果您决定进行此路径,则需要省略稍后绘图的轴和标签,并手动设置xlim和ylim,否则它们将会关闭。