【问题标题】:R Circlize, Chord graph with empty sectorsR Circlize,带空扇区的和弦图
【发布时间】:2015-05-25 06:14:27
【问题描述】:

我正在尝试使用 R 中的 circlize 包创建一个和弦图。我想包括没有流出的扇区(没有从它们发出的链接)。有没有办法:

  1. 强制程序从我的数据框中报告行,即使该行中只有零。

  2. 抑制自循环。 (小插图要求您在对角线处输入零来执行此操作,但我们又回到了第一个问题。)

我已附上我的代码。

chordDiagram(mat, symmetric = TRUE, keep.diagonal = TRUE, order = union(rownames(mat), colnames(mat)),
             directional = FALSE, annotationTrack = "grid", preAllocateTracks = list(
               list(track.height = 0.05),
               list(track.height = 0.05))
)

这是一些示例数据。

    a.1 a.2 a.3 a.4 a.5 a.6 a.7 a.8 a.9
a.1 1   0   0   0   1   0   0   0   0
a.2 0   1   0   0   0   0   0   1   0
a.3 0   0   1   0   0   0   0   0   0
a.4 0   0   0   1   0   0   0   0   0
a.5 1   0   0   0   1   0   0   0   0
a.6 0   0   0   0   0   1   0   0   1
a.7 0   0   0   0   0   0   1   0   1
a.8 0   1   0   0   0   0   0   1   1
a.9 0   0   0   0   0   1   1   1   1

【问题讨论】:

  • 请添加一个小示例数据集,以便我们运行您的命令。

标签: r plot circos circlize


【解决方案1】:

由于该扇区没有链接,您如何定义该扇区的宽度?

无论如何,您可以通过为该向量分配一些值来添加一个“空”扇区并使用完全透明的颜色绘制链接。

> mat = matrix(c(5, 0, 0, 0, 2, 3, 0, 3, 2), 3)
> colnames(mat) = letters[1:3]
> rownames(mat) = letters[1:3]
> mat
  a b c
a 5 0 0
b 0 2 3
c 0 3 2

> col = matrix(rand_color(9), 3)
> col[1, 1] = "#FFFFFF00"
> chordDiagram(mat, col = col)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-01
    • 2021-10-04
    • 1970-01-01
    相关资源
    最近更新 更多