導(dǎo)讀
堆疊圖或pheatmap圖的另一種展現(xiàn)形式----和弦圖。這里用的是矩陣數(shù)據(jù)melt成含對應(yīng)關(guān)系的三列表昆婿,有對應(yīng)關(guān)系即可端圈,是非矩陣都可以。另外circos函數(shù)博大精深魁莉,很值得學(xué)習(xí)哦任柜。
一卒废、模擬輸入
library(circlize)
library(reshape2)
data = data.frame(matrix(sample(100, 16, replace=F), 4, 4))
rownames(data) = paste("sample", 1:4, sep=".")
colnames(data) = paste("bacteria", 1:4, sep=".")
data = data.frame(data, taxonomy = rownames(data))
input = melt(data, id='taxonomy')
二、和弦圖
pdf("circ.pdf")
chordDiagram(input)
dev.off()
三宙地、自定義順序
倒序
queue = c(paste("sample", c(4,3,2,1), sep="."), paste("bacteria", c(4,3,2,1), sep="."))
pdf("circ_order.pdf")
chordDiagram(input, order = queue)
dev.off()
四摔认、自定義顏色
1 連線顏色
pdf("circ_line_color.pdf")
chordDiagram(input, col = c("red", "skyblue", "pink", "yellow"))
dev.off()
2 標(biāo)簽顏色
pdf("circ_label_color.pdf")
chordDiagram(input, grid.col = c(sample.1="red", sample.2="skyblue", sample.3="pink", sample.4="yellow", bacteria.1="purple", bacteria.2="green", bacteria.3="grey", bacteria.4="orange"))
dev.off()
五、選擇展示標(biāo)簽宅粥、刻度参袱、方格
1 去標(biāo)簽
pdf("circ_no_name.pdf")
chordDiagram(input, annotationTrack = c("axis", "grid"), grid.col = c(sample.1="red", sample.2="skyblue", sample.3="pink", sample.4="yellow", bacteria.1="purple", bacteria.2="green", bacteria.3="grey", bacteria.4="orange"))
dev.off()
2 去刻度
pdf("circ_no_axis.pdf")
chordDiagram(input, annotationTrack = c("name", "grid"), grid.col = c(sample.1="red", sample.2="skyblue", sample.3="pink", sample.4="yellow", bacteria.1="purple", bacteria.2="green", bacteria.3="grey", bacteria.4="orange"))
dev.off()
3 去方格
刻度一起沒了
pdf("circ_no_grid.pdf")
chordDiagram(input, annotationTrack = c("name", "axis"), grid.col = c(sample.1="red", sample.2="skyblue", sample.3="pink", sample.4="yellow", bacteria.1="purple", bacteria.2="green", bacteria.3="grey", bacteria.4="orange"))
dev.off()
更多參數(shù):
small.gap = 0.001 # 組內(nèi)空隙,默認(rèn)是兩個組
big.gap = 1 # 組建空隙
order = c() # 自定義label的順序
label = c(paste("u", 1:73, sep="."),
paste("c", 1:50, sep="."), "unco_c", "unco_u")
col_set = c(rep("red", 73), rep("blue", 50), "grey", "grey")
names(col_set) = label
grid.col = col_set # 自定義配色
比較基因組數(shù)據(jù)結(jié)構(gòu):
隨便畫:
參考:
和弦圖繪制
R語言circlize包總結(jié)
R包c(diǎn)irclize繪制弦狀圖示例
The chordDiagram() function
R circlize circos book