0

我正在尝试绘制连续两年的温度数据(比如 2010 年 11 月 5 日至 2011 年 3 月 30 日),其中的天数为 x 轴值。例如:

temp<-c(30.1:40.1) # y axis
doy<-c(360:365,1:5) # x axis

请帮帮我。谢谢。

4

1 回答 1

0
temp<-c(30.1:40.1) # y axis
doy<-c(360:365,1:5) # x axis

doy2 <- c(360:365,c(1:5)+365)

plot(temp ~ doy2, xaxt="n", xlab = "doy")
axis(1,doy,at=doy2)

或者:

解决这个问题的最严格方法是使用 R 中的日期时间对象。然后 R 会将“临时”数据识别为日期,因此在绘制时会给出正确的结果。日期时间对象很复杂,但如果你经常处理它们,它们是值得学习的:

temp<-c(30.1:40.1) # y axis
doy<-c(360:365,1:5) # x axis

doy2 <- c(360:365,c(1:5)+365)  #we sill need this to place numbers 1:5 into a new year (i.e. 365 days later)


doy.date <- as.Date("2011-01-01")   #Set a base date (choose the year that you will start with

doy.date <- doy.date + doy2 - 1  #add the days of year to the base date and subtract one (the base date was January 1st)

plot(temp ~ doy.date, xlab = "doy")    #plot as usual

#see documentation on dates
?date

#or for date with times:
?POSIXct
于 2013-01-10T21:36:20.797 回答