将自制因子水平添加到ggplot图例中

时间:2019-05-28 14:45:59

标签: r ggplot2

我有以下类型的数据:

df <- data.frame(A=runif(100), 
                 B=rep(seq(1,50), each=2), 
                 C=factor(c(rep(c("X1", "X2"), 50))))

然后我继续对A与B作散点图,并根据C添加一个stat_smooth层。

p1 <- ggplot(df, aes(B,A)) +
  geom_point(aes(col=C)) +
  stat_smooth(aes(col=C))

但是我想不考虑分组因子C而显示B和A之间的关系。

p1 + stat_smooth(col="black")

我想在图例中添加这个新的自造因素(X1 + X2)。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以尝试:

ggplot(df, aes(B,A)) +
  geom_point(aes(col=C)) +
  stat_smooth(aes(col=C)) +

  scale_colour_manual(name="Line Color",
                      values=c(X1="red", X2="blue", "X1-X2"="black"),
                      limits = c("X1","X2","X1-X2")) +
  stat_smooth(col = "black")