美文网首页ggplot集锦
图片复现:ggraph互作网络图

图片复现:ggraph互作网络图

作者: KS科研分享与服务 | 来源:发表于2022-11-27 09:40 被阅读0次

    来复现一幅基因互作网络图,这种图一般使用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科研分享与服务

    相关文章

      网友评论

        本文标题:图片复现:ggraph互作网络图

        本文链接:https://www.haomeiwen.com/subject/tuvhfdtx.html