如何在我的ggplot中显示图例?

时间:2018-02-26 13:22:41

标签: r ggplot2

我正在尝试使用自己的数据为我的情节添加图例。

rich_ph <- ggplot(CR_ph) + 
  geom_jitter(aes(ph,all.fungi), colour="pink") +   
  geom_smooth(aes(ph,all.fungi), color="pink", method=lm, se=FALSE) +
  geom_jitter(aes(ph,Animal.parasite), colour="blue") + 
  geom_smooth(aes(ph,Animal.parasite), color="blue", method=lm, se=FALSE) +
  geom_jitter(aes(ph,Plant.Pathogen), colour="green") + 
  geom_smooth(aes(ph,Plant.Pathogen),color= "green", method=lm, se=FALSE) 

我将在这里发布一个可重现的例子(出现在旧帖子中),我按照这个例子来构建我的情节:

ggplot(mtcars) + 
  geom_jitter(aes(disp,mpg), colour="blue") + 
  geom_smooth(aes(disp,mpg), method=lm, se=FALSE) +
  geom_jitter(aes(hp,mpg), colour="green") + 
  geom_smooth(aes(hp,mpg), method=lm, se=FALSE) +
  geom_jitter(aes(qsec,mpg), colour="red") + 
  geom_smooth(aes(qsec,mpg), method=lm, se=FALSE) +
  labs(x = "Percentage cover (%)", y = "Number of individuals (N)")

我尝试过使用

 scale_color_manual(labels = c("disp", "hp", "qsec"), values = c("blue","green", "red"))

如其他帖子所示,但对我来说问题是情节上没有显示任何内容。我也尝试过:

rich_ph + scale_colour_manual(name =“Functional groups”,labels = c(“All fungi”,“Animal parasite”,“Plant pathogen”),values = c(“pink”,“blue”,“green”)在这里输入代码

我想获得色点以及回归线,但是使用我使用的脚本,我没有得到任何输出。非常感谢你的帮助!

1 个答案:

答案 0 :(得分:0)

推荐的ggplot2方法是在绘图之前将数据设置得很久。 在这里,我使用tidyverse进行数据转换,并gather使数据变长。接下来将自动绘制相应的图例。

library(tidyverse)
mtcars %>% 
  as.tibble() %>% 
  select(mpg, disp, hp, qsec) %>% 
  gather(key, value, -mpg) %>% 
  ggplot(aes(y=mpg, x=value, color=key)) +
    geom_point() +
    geom_smooth(method=lm, se=FALSE)

enter image description here

添加scale_color_manual(values = c("blue", "green", "red"))会根据需要更改颜色。