2014-10-19 3 views
1

컨텍스트 : 과정을 통해 여행을 표현하고 싶습니다.ggplot2 - 범주 형 변수에 선 그래프 그리기

샘플 데이터 :

____________________________________________________________________ 
|  Time  | ProcessNo (factor) | ProcessName (factor) | 
+------------------+------------------------+------------------------+ 
| 2014-08-01 |   1   |  Brainstorming  | 
| 2014-08-03 |   2   |  Estimation  | 
| 2014-08-04 |   1   |  Brainstorming  | 
| 2014-08-09 |   3   |  Construction  | 
| 2014-08-14 |   4   |  Rectifying  | 
+--------------------------------------------------------------------+ 

나는 X = 시간, Y = ProcessName과 ggplot2 사용하여 플롯을 그려했습니다.

p <- ggplot(dfCheckpoints, aes(Time, ProcessName)) 
p <- p + geom_point() 

문제 : 내가 연대순으로 프로세스를 연결하는 선을 오버레이하고 싶습니다. ProcessNo는 ProcessName 변수가 어떤 도움이라면 단순히 요소 레벨입니다.

p <- p + geom_line(data = dfCheckpoints, aes(x = Time, y = ProcessNo)) 

을하지만 그것은 Y 축에 추가 요소를 추가

나는 새로운 라인을 추가하는 시도했습니다.

다른 방법이 있다면 기꺼이 시도해보십시오.

미리 감사드립니다.

+1

'dput (dfCheckpoints)'WLD 도움이 될. – hrbrmstr

답변

0

geom_line의 온라인 설명서를 보면, 거기에 그룹화 변수가 필요하다고 생각합니다. 이것은 당신이 요구 한 것입니다.

require("ggplot2") 
require("lubridate") 

dfCheckpoints$Time <- ymd(dfCheckpoints$Time) 
dfCheckpoints$ProcessName <- as.character(dfCheckpoints$ProcessName) 
dfCheckpoints$group <- 1 

p <- ggplot(dfCheckpoints, aes(Time, ProcessName, group = group)) + 
    geom_point() + geom_line() 
p 

그리고 다른 사람이 시도하는 사람을위한

는, 여기에 데이터의 나의 해석의 dput()의 :

structure(list(Time = structure(1:5, .Label = c("2014-08-01", 
"2014-08-03", "2014-08-04", "2014-08-09", "2014-08-14"), class = "factor"), 
    ProcessNo = structure(c(1L, 2L, 1L, 3L, 4L), .Label = c("1", 
    "2", "3", "4"), class = "factor"), ProcessName = structure(c(1L, 
    3L, 1L, 2L, 4L), .Label = c("Brainstorming", "Construction", 
    "Estimation", "Rectifying"), class = "factor")), .Names = c("Time", 
"ProcessNo", "ProcessName"), row.names = c(NA, -5L), class = "data.frame")