在ggplot中绘制多条线

时间:2018-12-07 01:16:04

标签: r ggplot2 plot

我需要使用ggplot绘制不同日期的每小时数据,这是我的数据集: enter image description here

数据包括每小时的观测值,我想将每天的观测值绘制到单独的一行中。

这是我的代码

xbj1 = bj[c(1:24),c(1,6)]

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')

请对此提供建议。

1 个答案:

答案 0 :(得分:3)

我会先制作一些假数据(我不会尝试抄录您的数据):

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)
)

这是简单的ggplot2情节:

library(ggplot2)
ggplot(x) +
  geom_line(aes(Hour, Value, color = as.factor(Date))) +
  scale_color_discrete(name = "Date")

sample ggplot

ggplot(x) +
  geom_line(aes(Hour, Value)) +
  facet_grid(Date ~ .)

sample ggplot, faceted

我强烈建议您为ggplot2找到不错的教程,例如http://www.cookbook-r.com/Graphs/。其他人也存在,很多都很好。