美文网首页生信相关生信分析~做图
弦图,管他中不中用,反正高大上

弦图,管他中不中用,反正高大上

作者: 小洁忘了怎么分身 | 来源:发表于2020-09-07 17:34 被阅读0次

0.准备输入数据

可以是矩阵

library(circlize)
set.seed(999)
mat = sample(0:5,21,replace = T)
mat = matrix(mat,nrow = 3)
rownames(mat) = paste0("S",1:nrow(mat))
colnames(mat) = paste0("G",1:ncol(mat))
mat
##    G1 G2 G3 G4 G5 G6 G7
## S1  2  0  1  2  5  1  2
## S2  3  5  1  4  2  0  1
## S3  4  0  5  5  2  4  3

行是一边,列是一边,矩阵正文的数字表示连接的强度。

可以是tidy数据框

library(tidyr)
library(tibble)
df <- gather(rownames_to_column(as.data.frame(mat),var = "from"),
             key = "to",
             value = "value",
             - from)
head(df)
##   from to value
## 1   S1 G1     2
## 2   S2 G1     3
## 3   S3 G1     4
## 4   S1 G2     0
## 5   S2 G2     5
## 6   S3 G2     0

一行是一个连接关系,第一列和第二列是要连接的两边,第三列是连接的强度。

2.简单画图

chordDiagram(mat)
circos.clear()
chordDiagram(df)
circos.clear()

circos.clear()是清除原来的弦图设置。你会发现颜色不一样,这是因为每次画图,颜色是随机的

3.自定义边的颜色

这些颜色出自RColorBrewer包,是我喜欢的配色,可以自己修改

library(RColorBrewer)
col = c(brewer.pal(n = 12,name = "Set3"),
        brewer.pal(n = 8,name = "Set2"))
col
##  [1] "#8DD3C7" "#FFFFB3" "#BEBADA" "#FB8072" "#80B1D3" "#FDB462" "#B3DE69"
##  [8] "#FCCDE5" "#D9D9D9" "#BC80BD" "#CCEBC5" "#FFED6F" "#66C2A5" "#FC8D62"
## [15] "#8DA0CB" "#E78AC3" "#A6D854" "#FFD92F" "#E5C494" "#B3B3B3"
border_color <- sample(col,nrow(mat)+ncol(mat)) 

chordDiagram(mat, grid.col = border_color, transparency = 0.7) 
chordDiagram(t(mat), grid.col = border_color) 

从这两张图可以看到,弦默认与行的颜色一致。

4.自定义弦的颜色

还是从刚才的颜色里面取

linkcolor <- sample(col,length(mat),replace = T)
dim(linkcolor) <- dim(mat) 
chordDiagram(mat, grid.col = border_color, col = linkcolor,transparency = 0.7) 
circos.clear()
linkcolor2 <- colorRamp2(range(mat), c("#FA0A0A", "#FFFFFF"), 
                      transparency = 0.5) # 产生连续色块并指定透明度
chordDiagram(mat, grid.col = border_color, col = linkcolor2)
circos.clear()

相关文章

  • 弦图,管他中不中用,反正高大上

    0.准备输入数据 可以是矩阵 行是一边,列是一边,矩阵正文的数字表示连接的强度。 可以是tidy数据框 一行是一个...

  • 橙子创意思维训练营

    《反正没有人看系列》 人生第一张脑图,管他的,先画了再说!

  • 管他呢,反正他死了

    老荣去世了,这在大院里算不上什么新闻,这个老干部休养所隔三岔五地就要送走一位老人,何况老荣已经82岁了,高寿,白喜...

  • 高大上?

    LOFTER上有个『我用VSCO修片』,就是這个⋯

  • 高大上

    忍不住想起小时候的我,是如何年纪轻轻懂得说话高大上的。初一语文课,老师问看过骆驼祥子的举手。我和另外一个女生举手了...

  • 高大上

    我大襄阳现在真的是越来越高大上了啊! 你看:应急指挥、应急供水、应急医疗救护、应急灭火器、应急厕所、应急停车场、应...

  • 高大上

    坐在兰州开往定西的高铁上。 听前面一女一男聊天。 男:昨晚上你那个项目谈得怎么样? 女:差不多了。小项目,就一个亿...

  • 高大上

    好友说,龙颜惧内,单位里都出了名,我不信! 这天,龙颜到家刚开门,媳妇手持锅铲门前候着,很严肃的说到:“干什么去了...

  • 高大上

    香沐源,人家卖的就是高大上。以后再也不进去了!!!还不如52那块卖披萨饼那块儿呢。 还不如爱妮儿呢。 想吃点心,啥...

  • 高大上

    昨天起主动走路上班,晚上就看到了倡议书,本来“为不影响道路施工进度,建议尽量不要开私家车”一句话就可以说清楚的事情...

网友评论

    本文标题:弦图,管他中不中用,反正高大上

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