2022-02-07 21:28:33, 多层组学定制服务 上海欧易生物医学科技有限公司
网络图可以展示数据与数据之间关系,尤其在生信学领域可以展示代谢与蛋白的相互关系,也可以展示与通路的关系。那怎么绘制简单的网络图呢?
这边给大家介绍一个R包 ggraph。ggraph 是建立在ggplot2一个扩展R包,它的目标是为网络、树和系统树等等表示关系与层次的数据结构进行可视化。ggraph继承了ggplot2的图形语法,建立了面向节点和连接的新图形对象(geom),并添加了布局的概念。可以在ggplot2框架下进行更加灵活美观的网络可视化。
基本核心概念
ggraph 建立在三个易于理解的核心概念之上:
1.节点是关系结构中的连接实体,可以使用 geom_node_* 绘制,指代基因、蛋白、代谢物、通路等。
2.布局定义了节点如何放置在绘图上,即将关系结构转换为图形中每个节点的 x 和 y。
3.连接是关系结构中实体之间的连接。可以使用 geom_edge_*() 进行可视化,代表基因、蛋白、代谢物、通路之间的关系。
数据准备
# 节点数据node <- data.frame(name = c("Alice", "Bob", "Cecil", "David", "Esmeralda"), age = c(48,33,45,34,21), gender = c("F","M","F","M","F"))# 连接数据edge <- data.frame(from = c("Bob", "Cecil", "Cecil", "David", "David","Esmeralda"), to = c("Alice", "Bob", "Alice", "Alice", "Bob","Alice"), same.dept = c(FALSE,FALSE,TRUE,FALSE,FALSE,TRUE), friendship = c(4,5,5,2,1,1), advice=c(4,5,5,4,2,3))
向右滑动查看更多代码
节点数据
连接数据
网络图绘制
数据准备好了,那我们就开始绘图吧!
首先,我们先加载需要的R包。
library(igraph)library(ggraph)
加载完包后,使用igraph的graph_from_data_frame函数,将节点与连接关系的矩阵转化数据格式。
graph <- graph_from_data_frame(d = edge, # 至少包含两列Node关联信息的数据框 vertices = node, # Node信息的数据框 directed = TRUE) # 是否有方向print(graph)
向右滑动查看更多代码
## IGRAPH cff68fd DN-- 5 6 -- ## + attr: name (v/c), age (v/n), gender (v/c), same.dept (e/l),## | friendship (e/n), advice (e/n)## + edges from cff68fd (vertex names):## [1] Bob ->Alice Cecil ->Bob Cecil ->Alice David ->Alice## [5] David ->Bob Esmeralda->Alice
向右滑动查看更多代码
最后使用ggraph进行网络图的绘制。
ggraph(graph) + geom_edge_link() + geom_node_point()
网络图优化
是不是觉得这张图比较单调,下面我们开始美化下这张图。
布局优化
布局是绘制特定图形结构时节点的垂直和水平位置。由于布局是节点空间位置的全局规范,因此它跨越了绘图中的所有层,因此应在调用到geom或stat之外进行定义。ggraph() 是作为图层的初始化使用。
ggraph(graph,layout = ''circle'') + geom_edge_link() + geom_node_point()
ggraph(graph,layout = ''star'') + geom_edge_link() + geom_node_point()
ggraph(graph,layout = ''kk'') + geom_edge_link() + geom_node_point()
节点优化
网络图中的节点是连接的实体。虽然图形中的节点是实体的抽象概念,布局是实体的物理位置,但节点呈现是实体的视觉表现。可以对节点进行颜色、大小、形状等的设置。
ggraph(graph,layout = ''kk'') + geom_edge_link() + geom_node_point(size = 5, mapping = aes(colour = gender), alpha = 0.5)+ scale_color_manual(values = c("red", "blue"))
向右滑动查看更多代码
连接优化
连接是一个抽象的概念,表示两个节点实体之间的关系。可以对连接进行颜色、粗细、箭头等的设置。
ggraph(graph, layout = ''kk'')+ geom_node_point(size = 5, mapping = aes(colour = gender), alpha = 0.5)+ scale_color_manual(values = c("red", "blue"))+ geom_edge_link(mapping = aes(edge_width = friendship, edge_color = advice), arrow = arrow(length = unit(4, ''mm'')), start_cap = circle(3, ''mm''), end_cap = circle(3, ''mm''))+ scale_edge_width_continuous(range = c(0.5,0.9))+ scale_edge_color_continuous(low = "orange",high = "red")
向右滑动查看更多代码
最终网络图
ggraph(graph, layout = ''kk'')+ geom_node_point(size = 5, mapping = aes(colour = gender), alpha = 0.5)+ scale_color_manual(values = c("red", "blue"))+ geom_edge_link(mapping = aes(edge_width = friendship, edge_color = advice), arrow = arrow(length = unit(4, ''mm'')), start_cap = circle(3, ''mm''), end_cap = circle(3, ''mm''))+ scale_edge_width_continuous(range = c(0.5,0.9))+ scale_edge_color_continuous(low = "orange",high = "red")+ geom_node_text(mapping = aes(label=name),repel = T,size = 4)+ theme_graph()
向右滑动查看更多代码
要学会如何绘制网络图,不如实际动手来操作,会有新惊喜发现哦~
.
文末看点|lumingbio
上海鹿明生物科技有限公司多年来,一直专注于生命科学和生命技术领域,是国内早期开展以蛋白组学和代谢组学为基础的多层组学整合实验与分析的团队。目前在多层组学研究已经有了成熟的技术方法,欢迎各位老师前来咨询哦~
长按扫码获取原文/咨询技术工程师
猜你还想看
◆导师给你推荐了吗?历隔4年,HMDB数据库5.0版强势来袭!
◆预警!2022年经典分析绘图软件,总有一款适合你
◆只要5分钟轻松掌握相关散布图~
◆高效学会富集分析气泡图,还能免费领取高清总代谢通路图哦~
06-27 福立仪器
好礼来袭 | 分享您身边的特洁安身影06-27
大盘取厚势 落子开新局:战略聚焦开启品牌发展新篇章——访Veralto大中华区总裁秦晓培06-27 星羽
实验操作 | 质粒构建、转化、提取、鉴定、转染、测定(完整版)06-27 小 M
有投必奖 | 大家都用 MCE 产品做了啥? (感染领域)06-27 小 M
科研助攻 | 一文讲清:如何破解 PPI 靶点成药难题06-27 小 M
干货分享 | 谈谈天然产物的改构策略06-27 小 M
玉研口鼻暴露系统 | 精准、可控、高通量的动物肺部疾病造模工具,助力创新药物研发06-26 玉研仪器
高分离 高灵敏 高通量——福立液相LC5190重新定义分离需求06-26 福立仪器
医药行业指南:电位滴定仪选型攻略来啦~06-26
屹路同行 悦启新程06-26 屹尧科技
徕卡精准空间生物学解决方案 第四弹06-26 童昕、南希
【直播预告】第一届大湾区生物电镜制样讲习班06-26 徕卡显微系统
徕卡常规显微镜历经严苛的ISO9022标准测试06-26 徕卡显微系统
Viventis LS2 Live 光片显微镜发布会06-26 徕卡显微系统
前沿应用 | 经皮无创血糖检测中葡萄糖拉曼峰直接观测06-26 鉴知技术
SNEC光伏展圆满落幕 | OTT HydroMet闪耀时刻精彩回顾06-26 OTT HydroMet
激光指向稳定在光刻系统应用中的关键作用,及其优化方案!06-26 圈内人都会关注
推陈出新!通微公司携新品亮相本届CPHI06-26 Unimicro
远离氟污染!开启无氟接触前处理技术新篇章06-26