2016-09-12 3 views
1

다음 데이터 세트가 있습니다.X 축에 타임 스탬프가있는 선 그래프 그리기

TimeStamp data_1  data_2  data_3  
15:11:37.474 99.791028 0.312498 99.47853  
15:16:22.373 99.791028 0.729162 99.061866 
15:21:37.424 99.791028 0.104166 99.686862 
15:31:52.475 88.02027   90.520254 
15:42:07.157 99.99936 0.208332 99.791028 
15:43:22.279 99.99936 0.52083  99.47853  
15:45:37.673 99.686862 0  99.686862 
15:52:52.872 99.686862 0.729162 98.9577 

다음과 같은 간단한 선 그래프를 그릴 필요가 있습니다. 그러나 모두 동일한 X 축과 Y 축을 공유해야합니다. 타임 스탬프의 경우 5 분 샘플링이 좋습니다.

data_1 vs TimeStamp 
data_2 vs TimeStamp 
data_3 vs TimeStamp 

지금까지 시도한 내용은 다음과 같습니다.

df <- read.csv(file="c:\\td.csv") 

df1 <- round(df[-1], 1) 

ggplot(df, aes(df$id, rdat$f1)) + geom_point() 

나는 이것이 올바른 접근 방법이 아니라는 것을 알고 모든 도움을 주시면 감사하겠습니다.

답변

0

다음과 같은 것을 원하는 것 같습니다. 데이터를 와이드 형식으로 긴 형식으로 변환하려고합니다. melt()을 사용했지만, tidyr 패키지에도 gather()을 사용할 수 있습니다. 거기에서 그래픽을 만듭니다. "타임 스탬프의 경우 5 분 샘플링이 좋습니다."라고 말하면 무엇을 의미하는지 알 수 없습니다. 추가 데이터 조작이 필요한 경우, 이는 계속 진행될 수 있습니다.

library(reshape2) 
library(ggplot2) 

temp <- melt(mydf, id.vars = "TimeStamp", variable.name = "data") 

ggplot(data = temp, aes(x = TimeStamp, y = value, color = data, 
     group = data)) + 
geom_line() + 
theme(axis.text.x = element_text(angle = 45, hjust = 1)) 

enter image description here

데이터

mydf <- structure(list(TimeStamp = structure(1:8, .Label = c("15:11:37.474", 
"15:16:22.373", "15:21:37.424", "15:31:52.475", "15:42:07.157", 
"15:43:22.279", "15:45:37.673", "15:52:52.872"), class = "factor"), 
data_1 = c(99.791028, 99.791028, 99.791028, 88.02027, 99.99936, 
99.99936, 99.686862, 99.686862), data_2 = c(0.312498, 0.729162, 
0.104166, NA, 0.208332, 0.52083, 0, 0.729162), data_3 = c(99.47853, 
99.061866, 99.686862, 90.520254, 99.791028, 99.47853, 99.686862, 
98.9577)), .Names = c("TimeStamp", "data_1", "data_2", "data_3" 
), class = "data.frame", row.names = c(NA, -8L)) 
관련 문제