2011-09-19 44 views
0

我從我的Garmin有一些GPS數據我想繪製時間縮放圖。我在使用ggplot2的網上找到了一些例子,但是有問題 - 我相信我可能需要重新格式化我的日期時間列,但是無法找到'net並查看ggplot2源代碼。任何幫助非常感謝。ggplot2:時間尺度圖形問題

> library(ggplot2) 
> x <- read.csv("tst.csv",header=TRUE,colClasses="character") 
> head(x) 
    counter HeartRateBpm_AVG LastTimeStamp 
1  1   102.25 9/3/2011 7:32 
2  2   138.75 9/3/2011 7:33 
3  3   138.75 9/3/2011 7:33 
4  4   138.75 9/3/2011 7:33 
5  5   138.75 9/3/2011 7:33 
6  6   138.75 9/3/2011 7:34 
> ggplot(data=x,aes(x=LastTimeStamp,y=HeartRateBpm_AVG)) + scale_x_date(format = "%S") + geom_line() 
+1

'dput(head(x,20))'會更好 – Chase

回答

2

我不信你也可以使用該輸入過程中獲得該data.frame。 「colClasses」向量中只有一個項目。當我使用你的方法時,結果與我使用readLines時沒有太大的區別。您的日期時間列不打印,就好像它以可以在沒有格式規範的情況下進行轉換的方式進行打印。嘗試改爲:

x <- read.csv(textConnection(" counter, HeartRateBpm_AVG, LastTimeStamp 
1 ,   102.25, 9/3/2011 7:32 
2 ,  138.75 ,9/3/2011 7:33 
3 ,  138.75, 9/3/2011 7:33 
4 ,  138.75 ,9/3/2011 7:33 
5  ,  138.75, 9/3/2011 7:33 
6  , 138.75 ,9/3/2011 7:34"), 
     header=TRUE, colClasses=c("numeric", "numeric", "character")) 
# Then the formating as date-time works well. 
x$LastTimeStamp2 <- as.POSIXct(x$LastTimeStamp, format="%m/%d/%Y %H:%M") 
head(x) 
+0

colClasses數據類型規定做到了!我需要在R上找到一本好書 - 剛開始嘗試學習它。感謝這篇文章。 – Chad

+0

很高興聽到它。有時問題與你第一次想到的不同。很好,你發佈了你的輸入策略。 –

0

這裏是一個解決方案

x = transform(x, LastTimeStamp = as.POSIXct(LastTimeStamp)) 
qplot(format(LastTimeStamp), HeartRateBpm_Avg, data = x)