我需要使用 ggplot 绘制不同日期的每小时数据,这是我的数据集:
数据由每小时观察组成,我想将每天的观察绘制成单独的一行。
这是我的代码
xbj1 = bj[c(1:24),c(1,6)]
Run Code Online (Sandbox Code Playgroud)
xbj2 = bj[c(24:47),c(1,6)]
xbj3 = bj[c(48:71),c(1,6)]
ggplot()+
geom_line(data = xbj1,aes(x = Date, y= Value), colour="blue") +
geom_line(data = xbj2,aes(x = Date, y= Value), colour = "grey") +
geom_line(data = xbj3,aes(x = Date, y= Value), colour = "green") +
xlab('Hour') +
ylab('PM2.5')
Run Code Online (Sandbox Code Playgroud)
请就此提出建议。
我会先制作一些假数据(我不会尝试转录你的):
set.seed(2)
x <- data.frame(
Date = rep(Sys.Date() + 0:1, each = 24),
# Year, Month, Day ... are not used here
Hour = rep(0:23, times = 2),
Value = sample(1e2, size = 48, replace = TRUE)
)
Run Code Online (Sandbox Code Playgroud)
这是一个直接的ggplot2情节:
library(ggplot2)
ggplot(x) +
geom_line(aes(Hour, Value, color = as.factor(Date))) +
scale_color_discrete(name = "Date")
Run Code Online (Sandbox Code Playgroud)
ggplot(x) +
geom_line(aes(Hour, Value)) +
facet_grid(Date ~ .)
Run Code Online (Sandbox Code Playgroud)
我强烈建议您找到有关 的好的教程ggplot2,例如http://www.cookbook-r.com/Graphs/。其他存在,许多相当不错。