我是R的新秀。
这是我的日期框架:
I UserID | hour | min | velocity
#1 1 0 0 12
#2 1 0 30 20
#3 1 1 0 19
#4 1 1 30 11
#5 1 2 0 12
#6 1 2 30 7
.. ... ... ... ....
#10 2 0 0 142
#11 2 0 30 201
#12 2 1 0 129
#13 2 1 30 111
.. ... ... ... ....
我将Userid列作为一个因素。
我的问题是如何使用水平轴作为水平轴,小时和分钟列以及速度作为垂直轴?
答案 0 :(得分:0)
如果你不想把时间结合起来 - 也许是为了显示每半小时发生一次的事情 - 或者出于任何其他原因,这里有什么用处:
数据强>
set.seed(42)
dat <- data.frame(userID = c(rep(1,10), rep(2,10)),
hour = 1:20,
min = c(0,30),
velocity = runif(20, 12,111))
<强> PLOT 强>
ggplot(dat, aes(x = hour, y = velocity)) +
geom_point(aes(shape = factor(min), color = factor(userID)))
如果您想添加行,请将geom_point()
更改为geom_line()
并使用linetype
属性代替shape
,并将其值设置为factor(min)
。
如果您不介意将hour
和min
合并到x轴,可以使用以下代码:
# add another column
dat$tme <- as.POSIXct(paste("2018-02-01", dat$hour, dat$min),
format = "%Y-%m-%d %H %M", tz = "UTC")
<强> PLOT 强>
ggplot(dat, aes(x = tme, y = velocity)) + geom_line(aes(linetype = factor(userID)))
答案 1 :(得分:0)