ggplot集锦

图片复现:ggraph互作网络图

2022-11-27  本文已影响0人  KS科研分享与服务

来复现一幅基因互作网络图,这种图一般使用cytoscape可以完成。这里我们使用ggraph简单复现一下。


图片

(图片来源:https://sourceforge.net/projects/rarevator/数据准备:需要两个文件,一个是互作结果,就是基因之间的关系。还有一个文件是基因的分组信息等等,两个文件合并构建ggraph结构文件。


setwd("D:/KS项目/公众号文章/互作网络图")
gene_info <- read.csv("gene_group.csv", header = T)
interaction <- read.csv("string_interactions.csv", header = T)
library(igraph)
library(ggraph)
library(tidyverse)
library(tidygraph)

graph <- as_tbl_graph(interaction) %>% 
  mutate(interaction = centrality_degree(mode='out'),
         group=gene_info$group)

作图很简单,标记分组,并将节点大小用互作数目表示。


ggraph(graph, layout = 'kk') + 
  geom_edge_fan(color='grey60',
                show.legend=T) + 
  geom_node_point(aes(size = interaction,
                      fill=factor(group)),
                  shape=21)+ 
  geom_node_text(aes(filter= interaction>5,
                     label=name),
                 size=2.5,
                 repel = T)+
  theme_graph()
图片

连线粗细也可以用互作强度来表示:


ggraph(graph, layout = 'kk') + 
  geom_edge_fan(color='grey60',
                show.legend=T,
                aes(edge_width=automated_textmining)) + 
  geom_node_point(aes(size = interaction,
                      fill=factor(group)),
                  shape=21)+ 
  geom_node_text(aes(filter= interaction>5,
                     label=name),
                 size=2.5,
                 repel = T)+
  scale_edge_width(range=c(0,1))
图片

这样就完成了,其他更多的分组及设置可参照上面添加,当然了,ggraph还有很多的布局展示,包括我们之前说过的circle,感兴趣可自行探索!
更多精彩请至我的公众号---KS科研分享与服务

上一篇下一篇

猜你喜欢

热点阅读