原文地址
https://stats.biopapyrus.jp/r/graph/circos-plot.html
代码
library(circlize)
library(RColorBrewer)
col<-RColorBrewer::brewer.pal(6,"Paired")
df<-data.frame(chr=sample(c(paste0("chr",1:6)),1000,replace = T),
x=rnorm(1000),
y=rnorm(1000))
head(df)
circos.initialize(factors = df$chr,x=df$x)
circos.trackPlotRegion(factors = df$chr,y=df$y,
panel.fun = function(x,y){
circos.axis()
})
for(i in 1:6){
highlight.sector(sector.index = paste0("chr",i),col=col[i])
circos.text(CELL_META$xcenter, CELL_META$ycenter,
labels = paste0("chr",i),sector.index = paste0("chr",i))
}
circos.trackHist(df$chr,df$x,col=col)
circos.link("chr1",0,"chr2",0)
circos.link("chr4",c(-2,0),"chr3",c(-2,2),col="blue")
circos.link("chr4", c(0, 2), "chr6", c(-2, 0), col = "orange")
circos.link("chr5", c(0, 2), "chr1", c(-2, 2), col = "lightgrey")
circos.clear()
![](https://img.haomeiwen.com/i6857799/d47daa947f79a92f.png)
这里遇到一个问题是
circos.trackPoints(df$chr,df$x,df$y,pch=16,cex=0.5,col=col)
circos.trackHist(df$chr,df$x,col=col)
为什么circos.trackPoints(df$chr,df$x,df$y,pch=16,cex=0.5,col=col)
没有新创建一圈呢?
第二个问题是:
circos.text()函数的两个参数
- CELL_META$xcenter
- CELL_META$ycenter
是哪里来的呀?如果我想把文本放在每个单元格的中间是固定用这两个参数就可以吗?
另外的参数 - sector.index
- track.index
欢迎大家关注我的公众号
小明的数据分析笔记本
![](https://img.haomeiwen.com/i6857799/79aeb854d67216b8.jpg)
网友评论