0

我正在写作是因为我想获得一些关于 R 中的情节的帮助,请使用包 circlize。

我正在尝试制作和弦图,我可以制作,但是情节上的名称重叠,

在此处输入图像描述

然后我尝试使用我从中获取的代码:我得到了相同的情节,但名称重复,并且相互重叠 在此处输入图像描述

我用于情节的代码是

chordDiagram(as.matrix(naxo2)
         ,grid.border = 1,
         grid.col = NULL,
         transparency = 0.5,
         preAllocateTracks = 0)

并且数据框已经包含在我正在使用的矩阵中的名称。

我想得到的是一个名称以 90 度出现以避免重叠的图。

非常欢迎任何帮助,并在此先感谢!

PS:我也尝试了这里发布的另一个解决方案,但我没有为我工作(R:在 circlize 图中调整标签

4

1 回答 1

1

请下次提供重现您的示例所需的数据。

这个想法是首先绘制不带标签的图表,然后添加为参数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()

和弦图顺时针标签

于 2020-12-03T17:41:01.037 回答