2017-12-28 44 views
1

슬프게도 this answer here은 저에게 적합하지 않은 것 같습니다.xts 객체를 그릴 때의 날짜 형식 변경 R

설명서에서 보았던 것 (in the latest version, 0.10-1, the major.format parameter has been removed)은 이전 버전 인 like 0.9-7, which has the major.format과는 달리 쉽게 제 질문을 해결할 수 있습니다.

사용하지 않는 것이 큰 특징으로 보입니다. 이것을 할 수있는 새로운 방법이 있습니까? 간단하고 쉬운 것으로 보이지만 나는이 문제를 성공하지 못하고 몇 시간 동안 파고있었습니다.

내 코드에 문제가있는 경우 여기에 제가 사용하는 스 니펫이 있습니다. 나는 major.format 매개 변수, 아무것도 변경되지 않습니다, 축이 동일하게 유지 추가하면

utc,m2_power,doy 
"1980-01-01 00:00:00",643.000,181.5000 
"1980-01-01 01:00:00",643.000,181.4583 
"1980-01-01 02:00:00",354.000,181.4167 

:

merra2 = read.table("C:/merra2.csv", header=TRUE, sep=",", na.strings="NA", dec=".", strip.white=TRUE) 

merra2$utc = as.POSIXct(merra2$utc, format = "%Y-%m-%d %H:%M:%S", tz="UTC") 
merra2$m2_power = as.xts(x=merra2[,"m2_power"],order.by=merra2[,"utc"]) 
merra2$doy = as.xts(x=merra2[,"doy"],order.by=merra2[,"utc"]) 

plot.xts(merra2$m2_power, col="blue", lwd = 2, major.ticks="weeks", subset="2012-04-01/2014-04-01") 
plot.xts(merra2$m2_power, col="blue", lwd = 2, major.ticks="months", subset="2012-04-01/2014-04-01") 

는 입력 파일은 같은 것을 포함한다. 여기

답변

0

하는 reproductible 예 : "major.ticks"축 변화를 변경하는 경우

# Generate a sequence of Dates 
StartDate<-"2017-07-01" 
EndDate<- "2018-07-05" 

dates<-seq(as.POSIXct(StartDate, format="%Y-%m-%d", tz="UTC") 
    , as.POSIXct(EndDate, format="%Y-%m-%d", tz="UTC") 
    , by='mins') 

# Generate a sequence of x 
x <- seq(1, length(dates)) 

# Create a dataframe, renaming columns 
df <- as.data.frame(cbind(as.character(dates,format="%Y-%m-%d", tz="UTC"),x)) 
colnames(df) <- c("Dates","x") 

# Redefine format 
df$Dates <- as.POSIXct(df$Dates,format="%Y-%m-%d", tz="UTC") 
df$x2 <- as.xts(x= as.numeric(df$x),order.by=df$Dates) 

# Plot results 
plot.xts(df$x2 
, col="blue" 
, lwd = 2 
, major.ticks="weeks" 
, major.format = TRUE 
, subset="2017-08-01/2017-08-30") 

은 ... 당신은 "UTC"변수에 대해 살펴 적이 있습니까? 전체 시간 간격은 얼마입니까?

+0

"major.ticks"는 축을 변경하지만 major.format = "% Y"는 완전히 관련이 없습니다. major.format에 전달 된 모든 것은 무시되며, 내 목표는 축에서 날짜의 서식을 지정하는 것입니다. 예를 들어, major.format = "% Y- % m"과 같이 변경하면 예제와 동일합니다. – Miguel