15

嗨,我有一个关于 geom_line 的问题。

我想要做的是,对于同一条线,根据某些过滤器将不同的颜色段应用于另一个变量,即不是用于绘制线的变量。

例如,如果我们有一个带有标头时间、var1 和 var2 的数据帧

time <- seq (1,7,1)
var1  <- c(3,5,7,2,3,2,8)
var2 <- c(2,4,18,16,12,3,2)

如果我使用 geom_line 绘制时间 vs var1 并假设我想通过在变量 var2 上应用大于 10 的过滤器来为线着色。所以这条线在时间 1、2、6、7 和 3、4、5 时将具有相同的颜色。

请告诉我这是否可能?如果是这样,请给我一些指示。

4

1 回答 1

25

这是你想要的吗?

time <- seq (1,7,1)
var1 <- c(3,5,7,2,3,2,8)
var2 <- c(2,4,18,16,12,3,2)
DF <- data.frame(time, var1, var2)

ggplot(DF, aes(time, var1, colour=(var2>10))) + 
  geom_line(aes(group=1))

在此处输入图像描述

于 2012-09-14T22:44:28.520 回答