2

使用 ggplot2 我想画一条在某个日期后改变颜色的线。我希望这很简单,但是在颜色发生变化时我会中断线。最初我认为这是一个问题group(根据这个问题;另一个问题看起来也很相关,但不是我所需要的)。把美学弄乱group了 30 分钟,我无法修复它,所以如果有人能指出明显的错误......

截屏

代码:

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

1 回答 1

4

如果设置group=1,则 1 将用作所有数据点的组值,并且线将连接起来。

ggplot(mydf, aes(x = mydate, y = y, colour = cond, group=1)) +
  geom_line() +
  scale_colour_identity(mydf$cond) +
  theme()
于 2013-01-24T03:37:44.963 回答