使用ggplot2我想绘制一条在特定日期后改变颜色的线条。我希望这很简单,但是在颜色变化的点上,我会在线上休息。最初我认为这是group
的问题(根据this问题; this other question看起来也很相关,但并不是我所需要的。已经弄乱了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()
答案 0 :(得分:3)
如果设置group=1
,那么1将用作所有数据点的组值,该行将加入。
ggplot(mydf, aes(x = mydate, y = y, colour = cond, group=1)) +
geom_line() +
scale_colour_identity(mydf$cond) +
theme()