我正在写作,因为我想在R中获得一些情节的帮助,请使用包circlize。
我正在尝试制作一个和弦图,我可以制作它,但是剧情上的名字是重叠的,
然后我尝试使用我从中获取的代码: 我得到了相同的情节,但重复的名字,并相互重叠enter image description here
我用于我的情节的代码是
chordDiagram(as.matrix(naxo2)
,grid.border = 1,
grid.col = NULL,
transparency = 0.5,
preAllocateTracks = 0)
并且数据框已经包含在我正在使用的矩阵中。
我想得到的是一个名称以90度出现以避免重叠的情节。
非常欢迎任何帮助,并提前致谢!
PS:我也试过了这里发布的另一个解决方案,但我没有为我工作(R: Adjusting Labels in circlize diagram)
答案 0 :(得分:0)
请下次提供重现您的示例所需的数据。
想法是先绘制不带标签的图表,然后添加为参数facing
选择的文本,这是旋转标签的选项之一,例如clockwise
。这里是一个例子
data("cars")
# Clockwise labels may require increasing the canvas margins
circos.par(canvas.xlim=c(-1.5,1.5),canvas.ylim=c(-1.5,1.5))
df.test=df[,c(1,2)]
cDiag = chordDiagram(df.test,
#directional = 2,
annotationTrack = "grid")
for(si in get.all.sector.index()) {
xlim = get.cell.meta.data("xlim", sector.index = si, track.index = 1)
ylim = get.cell.meta.data("ylim", sector.index = si, track.index = 1)
circos.text(mean(xlim),ylim[1], si, sector.index = si, track.index = 1,
facing = "clockwise",
cex=0.8,
adj=c(-1,0),
niceFacing = TRUE)
circos.axis(h = 0,
major.at = c(0,0.5,1,1.5,2,2.5,3,3.5,4,4.5,5) ,
labels.cex = 0.2,labels.facing = "inside",
sector.index = si, track.index = 1)
}
circos.clear()