在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
在系统发育分析时,经常会对树上taxa的性状进行描述性统计。对于离散型的变量,R中各种包(APE,phytools,etc)自带的函数可以较好解决问题,但对于连续型变量(如体长、体重等),则没有对应的函数进行显示。 其实,可以通过Hmisc包中的dotchart3函数绘制“克利夫兰点图”,再将其拼接到系统发育树上解决此问题。效果如下图: 图中,系统发育树右侧的dot plots是用dotchart3()绘制的taxa某个连续变量性状的值。其中,每个点的颜色、图标也可根据需要进行设定,用于同步显示与连续变量相关的离散变量的值。在此图中,点图表示的是各皿蛛的足长比,点颜色表示气管类型,点图标代表体色类型,点的位置和taxa在树上的位置对应。这样一图多用,是一种系统发育树上综合显示taxa各性状的好方法。 下面简单说一下实现方法: 1. R语言中安装Hmisc包 2.使用dotchart3()函数绘图。 dotchart3 (x=[x],label=[tiplabel], 其中: x- 连续变量 tiplabel- 系统发育树的tiplabel len_x- 连续变量的观测值的数量 gpch- 每个观测值显示时所用图标(见pch的refs) gcolor- 每个观测值显示时的颜色 Cleveland dot plots原本用来对连续性变量进行描述性统计并显示相关统计值的。而为了实现我们的功能,对它的参数做了如下特殊的设定:(1)保证所有向量参数的顺序与系统发育树上taxa的显示顺序相同;(2)将每个各观测值分为一个group([len_x]:1),gdata的值与x相同; (3) 每一个group分配独立的图标和颜色([gpch][gcolor]); (4) 观测值的背景色和辅助线设为与背景同色的白色,使图上仅显示group统计项的值(由于1个group中只有1个值,每组的值就是观测值)。 3. 使用PS、Illustrator等通用的绘图工具将dotchart与原来的系统发育树拼合在一起,并去除重复显示或多余的信息。
|
请发表评论