美文网首页
重画《癌生物学》插图||原发癌和它们的转移倾向

重画《癌生物学》插图||原发癌和它们的转移倾向

作者: 周运来就是我 | 来源:发表于2021-01-30 06:49 被阅读0次

在读《癌生物学》第十四章:<迁出:侵袭和转移>的时候看到一张插图(图14.43):

P732

看到箭头就想到网络图的我,不免想起用igraph来画一下这个插图。

于是,我开始量化这几个箭头的方向和粗细得到一张这样的表:

library(igraph)
library(tidyverse)
df<- read.table(file = "clipboard", sep = "\t", header=TRUE)
df
    from   to weighting
1  前列腺   脑         5
2  前列腺   肺         5
3  前列腺   肝         7
4  前列腺 骨髓        10
5    胰腺   脑         0
6    胰腺   肺         5
7    胰腺   肝        10
8    胰腺 骨髓         0
9    乳腺   脑         1
10   乳腺   肺        10
11   乳腺   肝         5
12   乳腺 骨髓        10
13   结肠   脑         0
14   结肠   肺         1
15   结肠   肝        10
16   结肠 骨髓         1

然后就是对它画图了:

df %>% filter(weighting>0) -> df 
net<- graph_from_data_frame(df)
#plot(net)
allcolour=c("#0000FF","#20B2AA","#FFA500","#9370DB",
            "#98FB98","#F08080","#1E90FF","#7CFC00","#FFFF00",
            "#808000","#FF00FF","#FA8072","#7B68EE","#9400D3",
            "#800080","#A0522D","#D2B48C","#D2691E","#87CEEB",
            "#40E0D0","#5F9EA0","#FF1493",
            "#FFE4B5","#8A2BE2","#228B22","#E9967A","#4682B4",
            "#32CD32","#F0E68C","#FFFFE0","#EE82EE","#FF6347",
            "#6A5ACD","#9932CC","#8B008B","#8B4513","#DEB887")


karate_groups <- cluster_optimal(net)
coords <- layout_in_circle(net, order =
                               order(membership(karate_groups)))  # 设置网络布局

E(net)$width  <- E(net)$weighting  # 边点权重(粗细)

net2 <- net  # 复制一份备用

for (i in 1: length(unique(df$from)) ){
    E(net)[map(unique(df$to),function(x) {
        get.edge.ids(net,vp = c(unique(df$from)[i],x))
    })%>% unlist()]$color <- allcolour[i]
}  # 这波操作谁有更好的解决方案? 
E(net)$color
plot(net, edge.arrow.size=.8, 
     edge.curved=0,
     vertex.color=allcolour,
     vertex.frame.color="#555555",
     vertex.label.color="black",
     layout = coords,
     vertex.label.cex=1.2)

很简单的一张原发癌和它们的转移倾向图奉献给大家。

如果你想尝试不同的布局:

layouts <- grep("^layout_", ls("package:igraph"), value=TRUE)[-1] 
# Remove layouts that do not apply to our graph.
layouts <- layouts[!grepl("bipartite|merge|norm|sugiyama|tree", layouts)]

par(mfrow=c(3,5), mar=c(1,1,1,1))

for (layout in layouts) {
    print(layout)
    l <- do.call(layout, list(net)) 
    plot(net,  edge.arrow.size=.2, layout=l, main=layout,vertex.label.cex=1.9,vertex.color=allcolour) }

相关文章

  • 重画《癌生物学》插图||原发癌和它们的转移倾向

    在读《癌生物学》第十四章:<迁出:侵袭和转移>的时候看到一张插图(图14.43): 看到箭头就想到网络图的我,不免...

  • 原位癌与原发癌

    原位癌与原发癌 原位癌作为一个专业术语,一般人理解错误是常有的,常见的误解就是把原位癌理解为发生在原始那个位置上的...

  • 得了癌症后(二)晚期疼痛等级分辨篇

    癌的可怕之处在于复发和转移的特性。原发时候还喜欢聚集在一起,手术切除就完事,但是一旦发生转移就会开始四处分散,全身...

  • Day2 2020-06-25

    《癌生物学》第二章(1) 癌症的起源【学习分享】《癌生物学》第二章(2) 癌症的发展及其能量代谢【学习分享】《癌生...

  • Day5 2020-06-28

    《癌生物学》第五章(1)生长因子与受体(上)《癌生物学》第五章(2)生长因子与受体(中)《癌生物学》第五章(3)生...

  • SEER数据库系列|SEER数据库数据内容的完善

    SEER数据的内容完善 SEER数据 为所有原发侵袭性癌和其他某些诊断(例如原位癌)收集的数据包括诊断日期和人口统...

  • 消化道早癌病理基本知识

    1.早期食管癌(T1N0M0) 包括黏膜内浸润癌和黏膜下浸润癌,无淋巴结转移证据。如癌局限于上皮内称原位癌或上皮内...

  • 特殊的肝转移癌

    肝转移癌与肝癌并不是一回事。 肝癌,相信大家都不陌生;但肝转移癌,大家可能就不是太清楚了吧! 顾名思义,肝转移癌就...

  • Day1 2020-06-24

    立个flag,两个月读完《癌生物学》... ...刚好珠江肿瘤的robin团队做了笔记,可以对照着来看《癌生物学》...

  • 70岁口腔癌淋巴转移,只是吃这一副药...

    应后台留言,今天给大家分享的病案是口腔癌淋巴转移。 亲诊口腔癌淋巴转移一例 01 口腔癌我们听说的比较少,但是这个...

网友评论

      本文标题:重画《癌生物学》插图||原发癌和它们的转移倾向

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