我正在尝试在 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: