前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ggtree学习笔记2

ggtree学习笔记2

作者头像
用户7010445
发布2020-03-03 15:10:17
1K0
发布2020-03-03 15:10:17
举报
文章被收录于专栏:小明的数据分析笔记本
树文件使用ggtree软件包中的示例文件

sample.nwk

代码语言:javascript
复制
(((((((A:4,B:4):6,C:5):8,D:6):3,E:21):10,((F:4,G:12):14,H:8):13):13,((I:5,J:2):30,(K:11,L:11):2):17):4,M:56);
最基本的操作

读入数据和展示结果

代码语言:javascript
复制
library(ggtree)
tree<-read.tree("sample.nwk")
ggtree(tree)+geom_tiplab()+
  geom_tippoint()

image.png

geom_tiplab()函数中的一些参数 align=T 标签右对齐 linesize = 16 标签右对齐后会有线连接,设置线的粗细 linetype = 1 设置线的类型,默认是虚线 offset=2设置标签距离枝末端的距离

代码语言:javascript
复制
ggtree(tree)+
  geom_tiplab(align=T,linesize = 5,linetype = 1,offset = 2)

image.png

使用ggplot2中的fortify函数可以把读入的树文件转化为数据框

代码语言:javascript
复制
library(ggplot2)
df<-fortify(tree)
df
# A tibble: 25 x 9
   parent  node branch.length label isTip     x     y branch angle
    <int> <int>         <dbl> <chr> <lgl> <dbl> <dbl>  <dbl> <dbl>
 1     20     1             4 A     TRUE     48    12   46   332. 
 2     20     2             4 B     TRUE     48    13   46   360  
 3     19     3             5 C     TRUE     43    11   40.5 305. 
 4     18     4             6 D     TRUE     36    10   33   277. 
 5     17     5            21 E     TRUE     48     9   37.5 249. 
 6     22     6             4 F     TRUE     48     7   46   194. 
 7     22     7            12 G     TRUE     56     8   50   222. 
 8     21     8             8 H     TRUE     38     6   34   166. 
 9     24     9             5 I     TRUE     56     2   53.5  55.4
10     24    10             2 J     TRUE     53     3   52    83.1
# ... with 15 more rows
geom_hilight()函数
代码语言:javascript
复制
ggtree(tree)+geom_nodelab(aes(label=node))
ggtree(tree)+
  geom_hilight(node = 23,fill="green",alpha=0.5)+
  geom_hilight(node = 21,fill="red",alpha=0.5)+
  geom_hilight(node = 17,fill="blue",alpha=0.5)

image.png

image.png

使用%<+%操作符

%<+%操作符可以在树文件中添加自己的额外数据 根据上图可以看出BACDE为一个组,GFH为另一个组,LKJI为一个组,M为单独的一个组

构造数据集

image.png

代码语言:javascript
复制
> df<-read.table("clipboard",header=T)
> df$Value<-sample(1:100,13)
> df
   Tiplabel  Group Value
1         B group1    55
2         A group1    31
3         C group1    93
4         D group1    86
5         E group1    23
6         G group2    92
7         F group2    79
8         H group2    32
9         L group3    67
10        K group3    19
11        J group3    52
12        L group3    49
13        M group4    61
> p<-ggtree(tree)
> p%<+%df+
+   geom_tiplab(aes(col=Group),offset=2)+
+   geom_tippoint(aes(size=Value,col=Group))

image.png

参考文章

Phylophlan(三)将新物种插入进化树 老版ggtree帮助文档 https://yulab-smu.github.io/treedata-book/chapter7.html#attach-operator

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 树文件使用ggtree软件包中的示例文件
  • 最基本的操作
  • geom_hilight()函数
  • 使用%<+%操作符
  • 参考文章
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档