前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言ggplot2作图如何去掉图例中的NA

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

作者头像
用户7010445
发布2021-07-12 15:43:38
3.9K0
发布2021-07-12 15:43:38
举报

遇到这个问题是在使用ggtree可视化展示进化树的时候,我想给进化树的枝分组映射颜色,对应的推文是跟着Nature Genetics学画图:R语言ggtree给进化树的枝分组映射颜色

  • 第一步是准备进化树文件
代码语言:javascript
复制
(((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包
代码语言:javascript
复制
library(treeio)
library(ggtree)
library(ggplot2)
读取树文件和分组信息
代码语言:javascript
复制
tree<-read.tree("practice.tree")
df<-read.csv("tree_anno.csv",header=T)
分组信息和树文件整合到一起
代码语言:javascript
复制
tree_1<-full_join(tree,df,by="label")
可视化展示树
代码语言:javascript
复制
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

代码语言:javascript
复制
ggtree(tree_1)+
  geom_tree(aes(color=group))+
  geom_tiplab(offset = 0.1)+
  scale_color_discrete(na.translate=FALSE)

这样就把图例去掉了

自定义颜色

代码语言:javascript
复制
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)

将图例的线更改的粗一点

代码语言:javascript
复制
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

欢迎大家关注我的公众号

小明的数据分析笔记本

需要示例数据和代码 点赞 点击在看 然后在后台留言 20210605 就可以了

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-06-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小明的数据分析笔记本 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 加载需要用到的R包
  • 读取树文件和分组信息
  • 分组信息和树文件整合到一起
  • 可视化展示树
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档