1

我准备了一个按照日期和时间排序的数据框 as.POSIXlt:

             Date_Time A1    B2 C1    E2
46 24/06/2012 12:20:00 NA 5.515 20    NA
47 24/06/2012 13:20:00 41    NA NA 3.519
48 25/06/2012 14:00:00 NA    NA NA    NA
49 25/06/2012 14:20:00 30    NA 30    NA
50 27/06/2012 15:20:00 NA    71 NA    NA
51 28/06/2012 18:00:00 11    NA 55    11
... ...

如您所见,它包含很多“NA”值。是否可以将所有数据绘制在单个图中,“x 轴”显示月份和年份,并为不同的数据分配不同的颜色(例如 A1 为绿色,C1 为蓝色)?我尝试了删除所有缺失值的“ggplot2”包。尝试 'zoo' 包不允许将 x 轴绘制为月-年。有什么建议吗?

4

1 回答 1

2

这对于任何 R 的绘图包都应该没有问题。我不是 ggplot 用户,但这是一个基本 R 示例,它使用了您的数据的略微修改版本。请注意,使用as.POSIXct优于as.POSIXltdata.frame对象内使用:

dat <- read.csv(text="Date_Time,A1,B2,C1,E2
24/06/2012 12:20:00,NA,5.515,20,NA
24/06/2012 13:20:00,41,NA,NA,3.519
25/06/2012 14:00:00,NA,NA,NA,NA
25/07/2012 14:20:00,30,NA,30,NA
27/08/2012 15:20:00,NA,71,NA,NA
28/09/2012 18:00:00,11,NA,55,11")

dat$Date_Time <- as.POSIXct(dat$Date_Time,format="%d/%m/%Y %H:%M:%S")

matplot(
  dat[,1],
  dat[2:5],
  type="o",
  pch=19,
  col=c("green","red","blue","black"),
  xaxt="n",
  xlab="Year-Month",
  ylab="Value"
)

添加POSIXct具有选定格式的表示轴:

axis.POSIXct(side=1,x=dat$Date_Time,format="%Y-%m")

在此处输入图像描述

于 2013-08-23T04:09:39.763 回答