R语言ggplot2作图如何去掉图例中的NA

遇到这个问题是在使用ggtree可视化展示进化树的时候,我想给进化树的枝分组映射颜色

  • 第一步是准备进化树文件
(((T1:0.4861354076,T2:0.2834595428):0.942360715,(((T3:0.3184458097,T4:0.9622228269):0.4969661732,T5:0.6340993682):0.5032551708,(T6:0.4230469938,(T7:0.4677923333,T8:0.9081691455):0.9143169096):0.127433398):0.2515457012):0.994598245,(((T9:0.5027498226,((T10:0.4813749485,T11:0.3569870775):0.3243860274,((T12:0.5659668173,T13:0.9807865066):0.7416001905,T14:0.5768127355):0.6274776841):0.9836351147):0.8691583187,(((T15:0.8502649218,T16:0.2346612616):0.08215806563,T17:0.9881674468):0.228599695,(T18:0.9987408081,(T19:0.5551266309,(T20:0.5758777808,(T21:0.224845764,(T22:0.6372982597,T23:0.4310163704):0.08498473768):0.4325073974):0.4294439629):0.3755993766):0.6018975459):0.4390420518):0.631742816,((T24:0.3252783034,T25:0.757289035):0.8024020193,(T26:0.7088394067,((T27:0.7591199852,(T28:0.5608872538,T29:0.1161357744):0.424030208):0.343572702,T30:0.3030217977):0.4269757664):0.5842715173):0.07271609362):0.5977432837);
  • 第二步是准备表示分组的文件
image.png
加载需要用到的R包
library(treeio)
library(ggtree)
library(ggplot2)
读取树文件和分组信息
tree<-read.tree("practice.tree")
tree<-read.tree("practice.tree")
df<-read.csv("tree_anno.csv",header=T)
分组信息和树文件整合到一起
tree_1<-full_join(tree,df,by="label")
可视化展示树
ggtree(tree_1)+
  geom_tree(aes(color=group))+
  geom_tiplab(offset = 0.1)
image.png

这个结果右侧的图例最下方式有一个NA的,如果不想要那个NA加一行代码

scale_color_discrete(na.translate=FALSE)

参考链接是

https://stackoverflow.com/questions/45493163/ggplot-remove-na-factor-level-in-legend

ggtree(tree_1)+
  geom_tree(aes(color=group))+
  geom_tiplab(offset = 0.1)+
  scale_color_discrete(na.translate=FALSE)

这样就把图例去掉了

自定义颜色

colors<-c("#3cb346","#00abf0","#d75427","#2e409a")
ggtree(tree_1)+
  geom_tree(aes(color=group))+
  geom_tiplab(offset = 0.1)+
  scale_color_manual(values=colors,
                     na.translate=FALSE)

将图例的线更改的粗一点

ggtree(tree_1)+
  geom_tree(aes(color=group))+
  geom_tiplab(offset = 0.1)+
  scale_color_manual(values=colors,
                     na.translate=FALSE)+
  #scale_color_discrete(na.translate=FALSE)
  guides(color=guide_legend(override.aes=list(size=5)))
image.png

欢迎大家关注我的公众号

小明的数据分析笔记本

小明的数据分析笔记本 公众号 主要分享:1、R语言和python做数据分析和数据可视化的简单小例子;2、园艺植物相关转录组学、基因组学、群体遗传学文献阅读笔记;3、生物信息学入门学习资料及自己的学习笔记!

你可能感兴趣的:(R语言ggplot2作图如何去掉图例中的NA)