旋转 chordDiagram 中的标签(R circlize)

标签 r chord-diagram circlize

这是来自 circlize 的一些代码用于创建和弦图的包。现在标签与圆的边缘平行。是否可以将标签旋转 90 度使其垂直于圆?

library(circlize)
set.seed(999)
mat = matrix(sample(18, 18), 3, 6)
rownames(mat) = paste0("Start", 1:3)
colnames(mat) = paste0("End", 1:6)
chordDiagrm(mat)

在下图中,我手动插入了一些标签以显示我希望完成的内容(End5、End6、End7​​)。谢谢。

enter image description here

最佳答案

根据您的示例数据,这是一种方法:

grid.col <- setNames(rainbow(length(unlist(dimnames(mat)))), union(rownames(mat), colnames(mat)))
par(mar = c(0, 0, 0, 0), mfrow = c(1, 2))

# original image
chordDiagram(mat, grid.col = grid.col) 

# now, the image with rotated labels
chordDiagram(mat, annotationTrack = "grid", preAllocateTracks = 1, grid.col = grid.col)
circos.trackPlotRegion(track.index = 1, 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(mean(xlim), ylim[1] + .1, sector.name, facing = "clockwise", niceFacing = TRUE, adj = c(0, 0.5))
  circos.axis(h = "top", labels.cex = 0.5, major.tick.percentage = 0.2, sector.index = sector.name, track.index = 2)
}, bg.border = NA)

结果:

enter image description here

关于旋转 chordDiagram 中的标签(R circlize),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31943102/

相关文章:

r - 安装没有二进制版本的包依赖项

r - if else 语句和 if_else 的不同行为

algorithm - 圆上不相交弦

r - 使用circlize设置弦图的扇区宽度

r - as.numeric(as.character(x))(其中 x 最初是数字)可以更改 x 吗?

javascript - d3 和弦 : center text on circle

R用数据框的circlize制作圆/弦图

r - Circlize 迁移图缺少链接

R循环-绘制边距和绘制区域

r - 自定义 R 查找共享对象的位置?