1

我正在尝试使用该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 也许?)

提前感谢您的帮助。

4

0 回答 0