2013-10-07 158 views
-1

我試圖通過stackoverflow,博客,書籍等來讀取,但一直無法找到答案在X軸繪製時間格式(HH:MM:SS.000)在R中,另一個數量在Y軸上。我有以下數據集:如何繪製R軸中X軸的時間(HH:MM:SS)

Time    EcNo 
12:54:09.000 -14.47 
12:54:10.000 -17.96 
12:54:11.000 -15.97 
12:54:12.000 -14.61 
12:54:13.000 -12.68 
12:54:14.000 -10.73 
12:54:15.000 -10.54 
12:54:16.000 -11.62 
12:54:17.000 -12.49 
12:54:18.000 -11.12 

我將如何繪製EcNo在Y軸對時間(X軸),格式爲HH:MM:SS.000如上圖所示。

我真的很感激一些幫助。 非常感謝

回答

1

您也可以嘗試ggplot

library(ggplot2) 
df$time <- as.POSIXct(strptime(df$Time, format="%H:%M:%S")) 

# Automatic scale selection 
ggplot(data = df, aes(x = time, y = EcNo)) + geom_point() 

scale_x_datetimeggplot功能,但對於好的參數date_breaks,並且date_format您需要打包scales

library(scales) 

ggplot(data = df, aes(x = time, y = EcNo)) + geom_point() + 
    scale_x_datetime(breaks = date_breaks("1 sec"), labels = date_format("%S")) 

ggplot(data = df, aes(x = time, y = EcNo)) + geom_point() + 
    scale_x_datetime(breaks = date_breaks("1 sec"), labels = date_format("%OS3")) 

ggplot(data = df, aes(x = time, y = EcNo)) + geom_point() + 
    scale_x_datetime(breaks = date_breaks("4 sec"), labels = date_format("%M:%S")) 
+0

不錯的格式與ggplot。代碼起作用。 –

1
plot(strptime(dta$Time, format="%H:%M:%S"), dta$EcNo, xaxt="n") 
axis(1, at=as.numeric(strptime(dta$Time, format="%H:%M:%S")), 
     labels=strftime(strptime(dta$Time, format="%H:%M:%S"),format="%H:%M:%S")) 
+0

的代碼有效。 –