R:使用ggplot geom_line防止显示时间序列数据的中断

时间:2013-01-24 03:24:26

标签: r ggplot2

使用ggplot2我想绘制一条在特定日期后改变颜色的线条。我希望这很简单,但是在颜色变化的点上,我会在线上休息。最初我认为这是group的问题(根据this问题; this other question看起来也很相关,但并不是我所需要的。已经弄乱了group美学30分钟,我无法修复它,所以如果有人能指出明显的错误......

screenshot

代码:

require(ggplot2)

set.seed(1111)
mydf <- data.frame(mydate = seq(as.Date('2013-01-01'), by = 'day', length.out = 10),
    y = runif(10, 100, 200))
mydf$cond <- ifelse(mydf$mydate > '2013-01-05', "red", "blue")

ggplot(mydf, aes(x = mydate, y = y, colour = cond)) +
    geom_line() +
    scale_colour_identity(mydf$cond) +
    theme()

1 个答案:

答案 0 :(得分:3)

如果设置group=1,那么1将用作所有数据点的组值,该行将加入。

ggplot(mydf, aes(x = mydate, y = y, colour = cond, group=1)) +
  geom_line() +
  scale_colour_identity(mydf$cond) +
  theme()