2016-11-18 1 views
1

ggplot2에서 x 축 틱을 월말로 설정하려고합니다. 현재 생성 된 플롯에는 해당 달의 첫 번째에 해당하는 틱이 있습니다. 내가 규모를 생성하기 위해 사용하고 코드는 내 한계에 달하기 때문에이 틱도 월 종료 될 끝이라고 생각했을 것이다ggplot2에서 x 축 틱을 월 끝으로 설정하는 방법은 무엇입니까?

p + scale_x_date(limits = c(as.Date("2006-12-31"), as.Date("2014-09-30")), date_breaks = "6 months", date_labels = "%Y-%m-%d") 

입니다. 또한 내 데이터는 2007-01-02에 시작하므로 첫 번째 진드기는 2007-02-01입니다. 분기 끝과 일치하여 진드기를 설정하고 싶습니다.

감사합니다.

+0

A [재현성 예] 추가하세요 (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)에 도시 한 바와 같이 링크. 여기에는 최소한의 데이터 세트와 문제가있는 플로팅 코드가 포함됩니다. – aosmith

답변

0

breaks 인수에 날짜 벡터를 제공하여 명시 적으로 축 구분을 지정하는 한 가지 방법이 있습니다. 재현 가능한 예제를 제공하지 않으므로 위조 된 데이터를 플로팅했습니다. 아래 코드에서 각 분기의 마지막에 나누기를 지정했습니다. 30 일의 각 달에서 하루를 빼야하기 때문에 휴식은 다음 분기 첫날보다는 분기 마지막 날이 될 것입니다.

# Fake data 
dat = data.frame(date=seq(as.Date("2006-12-31"), as.Date("2014-09-30"), by="1 day")) 
set.seed(495) 
dat$value = cumsum(rnorm(nrow(dat))) 

ggplot(dat, aes(date, value)) + 
    geom_line() + 
    scale_x_date(limits = c(as.Date("2006-12-31"), as.Date("2014-09-30")), 
       breaks = seq(as.Date("2006-03-31"), as.Date("2014-12-31"), "quarter") - c(0,1,1,0), 
       date_labels = "%Y-%m-%d", expand=c(0,30)) + 
    theme(axis.text.x=element_text(angle=-90, vjust=0.5)) 

enter image description here

관련 문제