删除两个ggplot图例中的重复项

时间:2015-12-22 17:12:18

标签: r ggplot2 legend

我在R中使用ggplot2并且有颜色(variable1)和线型(variable2)的手动缩放。其中一个级别对于这两种类型都是相同的,我只希望它以简单的线条出现,因此从variable2图例中消失。

请参阅下面的最小代码。

enter image description here

require(ggplot2)

data_0 <- expand.grid(x=1:2, 
    variable1=c("nothing", "A", "B"),
    variable2=c("nothing", "positif", "negatif") 
)
data <- subset(data_0, !((variable1=="nothing" & variable2 != "nothing") |
    (variable2=="nothing" & variable1 != "nothing")))
data$y <- rep(1:5, each = 2)

ggplot(data=data, aes(x=x, y=y, colour = variable1, lty = variable2))+
    geom_line(size=1.5)+
    theme_bw()+
    theme(legend.position="bottom")+
    scale_linetype_manual(values = c(1,3,5))

1 个答案:

答案 0 :(得分:11)

你非常接近。您需要将breaks指定为scale_linetype_manual

library(ggplot2)

ggplot(data=data, aes(x=x, y=y, colour = variable1, lty = variable2))+
  geom_line(size=1.5)+
  theme_bw()+
  theme(legend.position="bottom") +
  scale_linetype_manual(breaks = c("positif", "negatif"), values = c(1, 3, 5))

enter image description here