使用相同的标签和颜色为不同的图形手动斜体显示和为图例上色

时间:2019-03-20 01:16:02

标签: colors label legend graphing

我正在尝试创建多个共享相同图例的图形。 我发现了多种方法可以组合多个图形,并且ggarrange似乎可以为所有本应唯一的对象创建一个共享图例。 但是我在绘制图形时遇到了一些问题,因为一些图形没有相同的门(定义图例颜色),但是我希望它们在所有图形中都具有相同的颜色,因此合并后的图例将具有正确的颜色。 对于仅一张图,我会像下面一样手动为标签分配颜色

labs<-c("Arthropoda"="#FF66CC"
        ,"Cercozoa"="#FF6000")

并添加scale_fill_manual(values=labs)进行绘图,这似乎可行

然后我对其进行了修改,以使它们的某些部分变为斜体。

labsPhylum <-c('expression(paste(italic("Arthropoda")))'="#CC0000"
              ,'expression(paste(italic("Cercozoa")))'= "#FF6000"
             ,'expression (paste("unknown", ~italic("Eukaryota")))'= "#990000")`

但是,当我使用ggplotscale_color_manual()使用labsPhylum创建图形时,我认为该图形应为斜体并上色,我在此警告的情况下绘制了一个空图,因此这里有些重要的内容我无法理解。

ggplot(data=sigtab_dil, aes(x=Species, y=log2FoldChange, color=Phylum))+ 
  geom_point(size=2) + 
  scale_color_manual(values=labsPhylum)

    Warning message:
    Removed 9 rows containing missing values (geom_point). 

有人可以帮我弄清楚我要去哪里错吗? 谢谢

1 个答案:

答案 0 :(得分:0)

回答了我自己的问题

我意识到我必须为中断,标签和值创建单独的向量,而不是将它们组合在一起。

简而言之

colsPhylum <-c("Arthropoda"="#CC0000"
              ,"Cercozoa"= "#FF6000"
              ,"Chlorophyta"= "#CC9900"

labsPhylum <-c(expression(paste(italic("Arthropoda")))
               ,expression(paste(italic("Cercozoa")))
               ,expression(paste(italic("Chlorophyta ")))

breaksPhylum <-c("Arthropoda", "Cercozoa","Chlorophyta", "Choanozoa"
               ,"Ciliophora"
               ,"Cryptista"