R和弦图中的变化范围

eqfvzcg8  于 2023-03-10  发布在  其他
关注(0)|答案(1)|浏览(115)

我在R中有一个相关矩阵如下:

dat <- as.matrix(cbind(c(1.0000000, 0.5161944, 0.5190630, 0.3717464, 0.5719125),
               c(0.5161944, 1.0000000, 0.2549985, 0.8469740, 0.7761113),
               c(0.5190630, 0.2549985, 1.0000000, 0.2130771, 0.2930945),
               c(0.3717464, 0.8469740, 0.2130771, 1.0000000, 0.5652874),
               c(0.5719125, 0.7761113, 0.2930945, 0.5652874, 1.0000000))
)
colnames(dat) <- c(paste0("X",1:ncol(dat)))
rownames(dat) <- c(paste0("X",1:ncol(dat)))

我想创建一个和弦图,以便可视化相关性。我使用了以下代码,以便创建一个简单的版本:

circos.par(gap.degree = 0.8)
chordDiagram(dat, transparency = 0.5)

结果是这样的

如何更改每个X中的网格值,我希望在步骤0.25中将它们从0显示为1。根据我使用的函数,这是否可行?

2ul0zpep

2ul0zpep1#

chordDiagram中,您可以指定:

  • scale = T表示轴从0到1
  • annotationTrack = c("name", "grid")表示不生成x轴的函数(默认值为annotationTrack = c("name", "grid", "axis")
circos.clear()
circos.par(gap.degree = 0.8)
chordDiagram(dat, transparency = 0.5, scale = T, annotationTrack = c("name", "grid"))

然后可以使用circos.xaxis手动生成每个扇区的x轴:

for (i in 1:ncol(dat)) {
  circos.xaxis(sector.index = paste0("X", i), 
               major.at = seq(0, 1, .25), 
               minor.ticks = 0, 
               labels.cex = .5)
}

相关问题