2015-01-14 6 views
0

일부 배달 날짜의 그래프를 생성하려고합니다. 내가 보여주고 싶은 것의 대부분을 가지고 있지만 매년 그래프에 그리드 선을 추가하고 싶습니다. ggplot을 사용하여 그래프를 만듭니다. 코드는 다음과 같습니다.ggplot 시계열의 주요 눈금 선

structure(list(Task = c("Haptoglobin", "Transferrin", "A", "B", 
"C", "D", "E", "F", "G", "Haptoglobin", "Transferrin", "A", "B", 
"C", "D", "E", "F", "G"), Approach = c(1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), Delivery.Date = c("May-16", 
"Sep-16", "Mar-17", "Sep-17", "Sep-17", "Nov-17", "Apr-18", "Apr-18", 
"May-18", "May-16", "Sep-16", "Jan-17", "Jan-17", "Mar-17", "Aug-17", 
"Aug-17", "Nov-17", "Feb-18"), Date = c("2016-05-16", "2016-05-16", 
"2017-03-14", "2017-09-26", "2017-09-26", "2017-11-21", "2018-04-10", 
"2018-04-10", "2018-05-08", "2016-05-16", "2016-09-05", "2017-01-17", 
"2017-01-17", "2017-03-04", "2017-08-01", "2017-08-01", "2017-11-21", 
"2018-02-06"), date = structure(c(16937, 16937, 17239, 17435, 
17435, 17491, 17631, 17631, 17659, 16937, 17049, 17183, 17183, 
17229, 17379, 17379, 17491, 17568), class = "Date"), taskID = c(9, 
8, 7, 6, 5, 4, 3, 2, 1, 9, 8, 7, 6, 5, 4, 3, 2, 1)), .Names = c("Task", 
"Approach", "Delivery.Date", "Date", "date", "taskID"), row.names = c(NA, 
-18L), class = "data.frame") 

approach_labller <- function(key, val){ 
return(approach_key[val]) 
} 

approach_key <- list('1'="Approach 1", '2'="Approach 2") 

ggplot(ppps, aes(date, taskID)) + geom_point(colour="blue", size=4, shape=15) + scale_x_date(labels=date_format("%b-%y"), breaks=date_breaks('month')) + facet_grid(Approach ~ ., labeller=approach_labller) + scale_y_discrete(limits=c(9,8,7,6,5,4,3,2,1), labels=t) + theme_bw(panel.grid.major.x(colour="black", size=2)) + labs(y="Target", x="Date") 

그래서 저는 매년 1 월/1 년에 주요 X 그리드 라인을 얻고 싶습니다.

감사

+0

나는 'scale_x_date (labels = date_format ("% b- % y"), breaks = d ate_breaks ('year'), minor_breaks = date_breaks ('month'))'. – lukeA

+0

감사합니다. LukeA ...하지만 몇 개월에 나누기를 원합니다. (나는 x 축에 달을 표시하고 싶습니다.) 나는 매년 더 무거운 그리드 라인을 원합니다. – Hassantm

+0

휴식 시간이 있어야합니다. 나는'theme_bw() '가 그들을 내쫓는다고 생각한다. '+ theme (panel.grid.minor.x = element_line (color = "grey90", size = .5))'와 같이 sth로 다시 볼 수있게 만들 수 있습니다. – lukeA

답변

0
내가 geom_vline()

geom_vline(as.numeric(as.date('1 jan 17', format="%d %b %y"), colour="grey90", size=0.7) 

를 사용하여 솔루션을 해킹 관리해야

하지만 좀 더 우아한 해결책이 있는지 궁금 ...

감사

H

관련 문제