R ggplot如何在完整图形上覆盖部分图形

时间:2016-09-16 00:18:10

标签: r graph ggplot2

有没有办法使用ggplot在完整图形的顶部叠加部分图形?我在X轴上有一个时间跨度为100天的线图,需要添加仅跨越最后20天的第二行,颜色不同;我不想将第二行绘制为前80天的零值 - 需要使用不同颜色仅绘制最近20天的值。最好的方法是什么?

1 个答案:

答案 0 :(得分:1)

当然,只需使用两个带有data.frame不同子集的geom(为简单起见,我使用完整的df并且只使用一个子集):

library(ggplot2)
df <- data.frame(Index = 1:1000, Value = cumsum(rnorm(1000)))
ggplot() + geom_line(data = df, aes(x = Index, y = Value)) +
           geom_line(data = df[500:700,], aes(x = Index, y = Value), col="red")

enter image description here