用R画弧形图(Arc Diagram)

Python016

用R画弧形图(Arc Diagram),第1张

在前几篇里我用cytoscape软件构建了网络图( 如何将WGCNA导出的基因共表达网络进行可视化 ),见下图。但是看上去好像什么信息也看不出来,因为基因和基因之间的connectivity实在是太多了,全都糊在一起,看不出有哪些基因位于网络的中心,或者说看不出哪些基因和其他基因的联系很多。

当然你可以把cytoscape里的每一个基因的degree.layout导出来,里面有每一个基因有多少条edge与其相连,然后做一个bar图( 用R画Circular barplot图 ),但是对于图里的数字(比如60和20)并没有非常直观的展示。偶然看到里一篇文章写的非常好( R数据可视化18:弧形图 ),做出的图形是这样的:

弧形图需要的数据是从cytoscape里导出的,你也可以自己制作(如果数据不多的话):

导出的表长这样:

我们需要的是这个表的“name”列。你需要在excel里把“ (interacts with) ”替换成空格(注意括号两边也有空格),这一步在excel里相当简单,就不赘述了。替换完成后的表长这样:

现在得到的表格就是我们需要的。

不好描述。R96的圆心:以O为圆心,以(96-24)为半径画弧,得到与过O点垂线距46直线的交点,即为圆心。R40的圆心:以O为圆心,以(24+40)为半径画弧,在该弧线上以R40为半径,画与基座相切的圆弧,即可。