使用R中的circlize创建嵌套的类似命名的扇区

时间:2017-10-27 18:14:57

标签: r circlize

我尝试使用circlize包创建一个circos图,其中外部轨道具有唯一的扇区名称(10个名称),并且在每个唯一的扇区内,有两类文件类型。这两个类别对于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个类别初始化绘图,只调用与每个曲目相关的曲线,但在图中留下了漏洞。

我不确定是否可以&#34; true&#34;多个轨道的扇区,所以我试着在内部轨道的外部做一个&#34;突出显示&#34; (基于this question),但似乎相同的因子名称正在绊倒我(最终只有两个扇区的情节)。

我还考虑将两个单独的图组合在一起,在circlize一书的第6.3节中提到,但我仍然不知道如何创建具有相同名称的单独扇区。我也不确定如何指定链接源和目标(可能是sector.numeric.index?)

提前感谢您的帮助。

0 个答案:

没有答案