0

我正在尝试在 R 中绘制一个和弦图。除了红色圈出的两个区域外,它工作得很好(请参阅链接中的图 - 注意,我已经覆盖了实际的扇区标签以实现匿名)。这两个区域中的链接要么位于扇区区域之外,要么被另一个链接覆盖。我希望链接彼此邻接(而不是重叠)并且也留在它们的扇区区域内。

我感觉我可能需要使用 circos.link (??) 进行自定义,但不确定如何修复扇区的范围以使链接正确对齐。任何方向/帮助表示赞赏。

这是我使用的代码:

# initialise the circos plot
  circos.clear()
  par(mar = rep(0, 4), cex=1)
  circos.par(start.degree = 90, track.margin=c(-0.1, 0.1), 
             gap.degree = 4, points.overflow.warning = FALSE)
  
  # plot the chord diagram
  chordDiagram(x = d4, 
               order = d1$lchd , 
               grid.col = d1$col1, 
               annotationTrack = "grid",
               transparency = 0.6,  annotationTrackHeight = c(0.05, 0.1),
               self.link = 1,
               directional = 1,
               diffHeight  = -0.04, link.sort = TRUE, link.largest.ontop = TRUE)
  
  # add labels and axis
  circos.track(track.index = 1, bg.border = NA, panel.fun = function(x, y) {
    xlim = get.cell.meta.data("xlim")
    ylim = get.cell.meta.data("ylim")
    sector.name = get.cell.meta.data("sector.index")
    circos.text(x = mean(xlim), y = 2.75, labels = sector.name, facing = "bending", cex = 1.1)
    circos.axis(h = "top", major.at = seq(from = 0, to = xlim[2], by = 3), 
                minor.ticks = 2, major.tick.percentage = 10, labels.niceFacing = FALSE)
  })

如果有帮助,这是一组数据 d4 和 d1:

数据框:d4

数据框:d1

和弦图

4

0 回答 0