【问题标题】:r chord-diagram circlize --> rotating namesr chord-diagram circlize --> 旋转名称
【发布时间】:2017-11-28 18:16:59
【问题描述】:

我正在写作是因为我想在 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)

【问题讨论】:

标签: r plot rotation chord-diagram circlize


【解决方案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()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多