我正在尝试使用该circlize
包创建一个 circos 图,其中外部轨道具有唯一的扇区名称(10 个名称),并且在每个唯一扇区中,有 2 类文件类型。这 10 个名称中的每一个名称的两个类别都是相同的(最终目标是通过定向链接显示在转换文件类型时合并了哪些文件)。
到目前为止,这是我的代码的简化版本,它产生更大的轨道以及显示我正在尝试做的内部轨道(但“FileType1”和“FileType2”应该位于两个单独的扇区中以允许链接到和从每个)。
library(circlize)
fileFrom <- paste0("Category", LETTERS[1:10])
f1 = factor(fileFrom)
circos.initialize(factors = f1, xlim = c(0,1))
# create main track (10 categories)
circos.track(ylim = c(0,1),
panel.fun = function(x, y) {
sector.index = get.cell.meta.data("sector.index")
xcenter = get.cell.meta.data("xcenter")
ycenter = get.cell.meta.data("ycenter")
circos.text(xcenter, ycenter,
sector.index,
niceFacing = TRUE,
cex = 1.3,
facing = "bending.inside")
}
)
# create ICARTT/netCDF track
f2 <- factor(rep(c("ICARTT","netCDF"), 5)) # list of labels
circos.track(ylim = c(0, 1), factors = f1, track.height=0.1,
panel.fun = function(x, y) {
name = "FileType1 FileType2"
xcenter = get.cell.meta.data("xcenter")
ycenter = get.cell.meta.data("ycenter")
circos.text(xcenter, ycenter,
niceFacing = TRUE,
labels=name,
cex=0.6,
facing = bending.inside)}
)
第二个轨道只接受已经存在的因素,所以我尝试用所有 12 个类别初始化情节,并且只调用与每个轨道相关的那些,但在情节中留下了漏洞。
我不确定是否可以有多个轨道的“真实”扇区,所以我尝试将内部轨道的外部作为“亮点”(基于这个问题),但似乎相同的因素名称让我绊倒向上(最终只有两个扇区)。
我还考虑过将两个单独的图组合起来,在 circlize 书的第 6.3 节中提到,但我仍然不知道如何创建具有相同名称的单独扇区。我也不确定如何指定链接源和目标(sector.numeric.index 也许?)
提前感谢您的帮助。