SEARCH
技术服务021-34781616

热门搜索关键词:转录组基因组甲基化酵母文库蛋白芯片

021-34781616

当前位置首页 » 新闻资讯 » 技术&解读&应用 » 大神教你零基础绘制3D动态Network图

大神教你零基础绘制3D动态Network图

返回列表 来源: 查看手机网址
扫一扫!大神教你零基础绘制3D动态Network图扫一扫!
浏览:- 发布日期:2017-08-28 14:02:39【

还在为Cytoscape网络图的绘制心塞吗?还在因为关系对太多调图烦恼么?是否觉得2D网络互作图不够炫酷?读书少了吧,读书少了该好好听讲!下面请听大圣为大家开讲。

您只需要一台电脑,可Windows也可Linux,然后只要您安装了R软件即可。(不会安装R?没关系,欧易每月一次的小语言培训班火热报名中,名额有限,各位老师们快快联系。

(http://www.oebiotech.com/Projects/bioinfo_analysis_training.html)

好了回归正题,给大家介绍一款通过Christopher Gandrud编写的d3network包,它可以轻松创建基于Htmlwidgets框架的网络图,目前支持三种类型的网络图:

1.力导向图,可以显示复杂的网络划分关系;

2.桑基图(Sankeydiagram),利于展现分类维度间的相关性,以流的形式呈现共享同一类别的元素数量。特别适合表达集群的发展,比如展示特定群体的人数分布等;

3.Reingold-Tilford树型图,可以把一个树形结构的数据,用不重叠、紧凑、分层的形式展示出来。

是不是很炫酷,好了,长话短说,直接进入主题,首先我们得在R上安装一个networkD3包,在R环境下输入source("http://bioconductor.org/biocLite.R"),然后biocLite("networkD3"),安装完networkD3包,还得安装一个pandoc软件,从https://github.com/jgm/pandoc/releases/tag/1.19.2.1网址中下载pandoc-1.19.2.1-1-amd64.deb,然后安装sudo dpkg -i pandoc-1.19.2.1-1-amd64.deb,至此前期的安装完成。

下面仅以力导向图为例来说说3D动态网页版网络图的绘制,首先载入networkD3包,然后创建src源、target目标两个向量,整合成数据框networkData,最后就可以通过simpleNetwork函数画出一个简单的力导向图(见例1);此外,也可以通过自有数据框MisLinks、MisNodes创建复杂一点的力导向图(见例2)。

#例1

# 载入软件包

library(networkD3)

# 创建数据

src <- c("A", "A","A", "A","B", "B", "C","C", "D")

target <- c("B", "C","D", "J","E", "F", "G","H", "I")

networkData <- data.frame(src, target, zoom =TRUE)

# 画图

html <-simpleNetwork(networkData)

saveNetwork(html,"networkD3.html",selfcontained=TRUE)

生成的networkD3.html文件如下:

#例2

# 直接载入数据包(数据框)

data(MisLinks)

注:source和target列的数字代表MisNodes数据中name列从0开始排序,如Myriel为0,Napoleon为1,Mlle.Baptistine为2,依次类推;value列可表现为关系对线条的粗细,值越大,线条越粗。

data(MisNodes)

注:name为点的名称,group列为点对应的组,size列可表现为点的大小。

# 画图

Html <- forceNetwork(Links = MisLinks, Nodes =MisNodes,

Source = "source", Target = "target",

Value = "value", NodeID ="name",Nodesize="size",

Group = "group", opacity = 0.8, zoom = TRUE)

saveNetwork(html,"networkD3.html",selfcontained=TRUE)

注:图中所有的点都可以移动,鼠标放在点上面会显示点的名字

# 也可以加上点名和图例

html<-forceNetwork(Links = MisLinks, Nodes =MisNodes,Source = "source", Target = "target",Value ="value", NodeID = "name",Group = "group", opacity= 0.8, Nodesize="size",zoom = TRUE,opacityNoHover=TRUE,legend=TRUE)

saveNetwork(html,"networkD3.html",selfcontained=TRUE)

有没有一种牛叉哄哄、高大上的感觉,有了networkD3绘制网络图,从此就可以解放您的双手双脚。

欧易生物

技术热线:021-34781616 咨询热线:4006-4008-26

上海市闵行区新骏环路138号5幢3层
service@oebiotech.com
欧易生物
欧易生物微信公众号
沪ICP备-050455 网站地图  Copyright © 2016 上海欧易生物医学科技有限公司 保留所有权利