2015-07-12 170 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

相关问题