2015-07-12 146 views
1

我想提請使用R.如何繪製只顯示x軸日期的時間序列?

Line plot

我的數據集是一個時間序列,包括天數,小時和分鐘這個時間序列圖。我希望劇情只顯示一週中的某一天。當我使用正常的plot(x,y)時,我得到一個box plot,我無法弄清楚這種情節的類型。任何人都可以幫助我弄清楚情節和哪個功能可以用來獲得這樣的情節。

head(data) 
#  Date  Time Global_active_power Global_reactive_power Voltage 
#1 2006-12-16 17:24:00    4.216     0.418 234.84 
#2 2006-12-16 17:25:00    5.360     0.436 233.63 
#3 2006-12-16 17:26:00    5.374     0.498 233.29 
#4 2006-12-16 17:27:00    5.388     0.502 233.74 
#5 2006-12-16 17:28:00    3.666     0.528 235.68 
#6 2006-12-16 17:29:00    3.520     0.522 235.02 

# Global_intensity Sub_metering_1 Sub_metering_2 Sub_metering_3 
#1    18.4    0    1    17 
#2    23.0    0    1    16 
#3    23.0    0    2    17 
#4    23.0    0    1    17 
#5    15.8    0    1    17 
#6    15.0    0    2    17 

微創重現的數據集:

實際數據的頭

set.seed(123) 
data <- data.frame(Date = as.Date(rep(c("2006-06-16", "2006-06-17"), each = 1440)), 
    Time = format(as.difftime(0:1439, units = "mins") + as.POSIXct("2006-06-16"), "%H:%M"), 
    Global_active_power = cumsum(rnorm(2880, 0.02, 0.02) * rep(rep(c(1, -1), 4), 2880/8))) 

在這個階段,我已經試過如下:

x <- weekdays(data$Date) 
y <- data$Global_active_power 

plot(x, y) 

,但我得到的箱線圖。

+1

確保你'x'變量沒有得到意外變成一個因素。給我們「摘要(x)」和「摘要(y)」。 –

+1

'plot'是一個通用函數,根據您傳入的數據創建boxplot,時間序列圖......。換句話說:你得到的東西取決於你傳入的數據。因此:請在你的問題中加入'dput(x); dput(y)'。 –

+1

我們沒有您的數據,我們也沒有閱讀頭腦。對於初學者,你可以嘗試使用'type =「l」',但我猜你有一個原因是爲什麼你得到一個箱子的情節作爲默認值。 –

回答

2

也許這是你想要什麼:

set.seed(123) 
data <- data.frame(Date = as.Date(rep(c("2006-06-16", "2006-06-17"), each = 1440)), 
        Time = format(as.difftime(0:1439, units = "mins") + 
           as.POSIXct("2006-06-16"), "%H:%M"), 
        Global_active_power = cumsum(rnorm(2880, 0.02, 0.02) * 
             rep(rep(c(1, -1), 4), 2880/8))) 

data$datetime <- as.POSIXct(paste(data$Date,data$Time),tz="UCT") 
plot(data$datetime,data$Global_active_power,type="l") 

這裏的情節: enter image description here

相關問題