【问题标题】:plot multiple lines in ggplot在ggplot中绘制多条线
【发布时间】:2018-12-07 01:16:03
【问题描述】:

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

数据包含每小时的观察结果,我想将每天的观察结果绘制成一条单独的线。

这是我的代码

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

请对此提出建议。

【问题讨论】:

  • 到目前为止你尝试过什么?请编辑您的问题以包含代码。
  • 请不要发布代码/数据/错误的图像:它不能被复制或搜索 (SEO),它会破坏屏幕阅读器,并且它可能不适合某些移动设备。参考:meta.stackoverflow.com/a/285557/3358272。同样,不要尝试在评论中发布任何重要的内容……正如您所看到的,阅读/使用相当困难。请编辑您自己的问题并将其放在那里供大家查看。 (如果出现大量 cmets,可以忽略或隐藏评论,从而使您的问题在没有这些 cmets 的情况下不完整。)
  • 你试过ggplot(x) + geom_line(aes(Hour, Value, color = Date))吗?
  • 你能说得更具体些吗?
  • 这能回答你的问题吗? Plot multiple lines in one graph

标签: r ggplot2 plot


【解决方案1】:

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

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

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

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

【讨论】:

  • 你是新人,所以...请accept it;这样做不仅为回答者提供了一些积分,还为有类似问题的读者提供了一些关闭。
  • 对不起...我不知道。非常感谢您的帮助!
猜你喜欢
  • 2019-10-20
  • 1970-01-01
  • 1970-01-01
  • 2021-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-14
相关资源
最近更新 更多