geom_line - 同一条线上不同颜色

17

嗨,我有一个有关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绘制时间与var1的图形,并且想要通过在变量var2上应用大于10的过滤器来为线条着色。那么对于时间1、2、6、7,该线将具有相同的颜色,对于3、4、5,将具有另一种颜色。

请告诉我这是否可行?如果可以,请给我一些方向。

1个回答

27

这是您所想要的吗?

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

输入图像描述


是的!非常感谢。我不知道你可以在颜色中使用变量。 Graham - user18407
@user18407 将情节美学(位置、颜色、形状等外观)映射到数据值的想法是 ggplot2(以及其基础语法图形学)的基本思想之一;它是一种强大的用于图形化呈现数据的工具。 - Brian Diggs

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接