按组更改hline的颜色:ggplot2

时间:2013-05-15 14:06:04

标签: r ggplot2

我有一个facet_grid的情节,每个情节有2 geom_hline秒。我想分别为每条线上色。我想如果我将这种颜色添加到geom_hline数据框,我可以提供aes内的颜色。这是按组颜色,但使用默认的ggplot颜色。

以下是代码:

p <- qplot(mpg, factor(sample(c("a", "b", "c", "d"), nrow(mtcars), T)), 
           data=mtcars, facets = vs ~ am)

hline.data <- data.frame(z = factor(c("a", "b", "c", "d")), 
    vs = c(0,0,1,1), am = c(0,1,0,1))

hline.data <- transform(hline.data, z0 = as.numeric(z))
hline.data <- rbind.data.frame(hline.data, hline.data)
hline.data[5:8, 1] <- c("b", "c", "d", "a")
hline.data[5:8, 4] <- c(2, 3, 4, 1)
hline.data[, "col"] <- rep(c("red", "black"), each=4)

p + geom_hline(aes(yintercept = z0, colour=col), hline.data)

我怎样才能得到&#34; red&#34;和我想要的黑色geom_hlines

enter image description here

2 个答案:

答案 0 :(得分:4)

由于您在数据中指定了确切的值(hline.data),因此您希望使用标识比例:

+ scale_colour_identity()

答案 1 :(得分:2)

您只需设置比例值:

+ scale_colour_manual(values = c("black","red"))