首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在chordDiagram (R圈)中旋转标签

在chordDiagram (R圈)中旋转标签
EN

Stack Overflow用户
提问于 2015-08-11 13:26:32
回答 1查看 7.1K关注 0票数 15

下面是circlize包中的一些代码,用于创建一个chord diagram.Right,现在标签与圆圈的边缘平行。是否可以将标签旋转90度,使其与圆垂直?

代码语言:javascript
复制
library(circlize)
set.seed(999)
mat = matrix(sample(18, 18), 3, 6)
rownames(mat) = paste0("Start", 1:3)
colnames(mat) = paste0("End", 1:6)
chordDiagram(mat)

在下图中,我手动插入了几个标签,以显示我希望完成的任务(End5、End6、End7)。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-11 20:39:45

根据您的示例数据,有一种方法可以做到:

代码语言:javascript
复制
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)

结果:

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31943102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档