R Circlize, граф хорды с пустыми секторами

Я пытаюсь создать граф хорды, используя пакет circlize в R. Я хотел бы включить сектора, для которых нет оттока (от них не исходят ссылки). Есть ли способ:

  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

person george    schedule 25.05.2015    source источник
comment
Добавьте небольшой пример набора данных, который позволит нам выполнить вашу команду.   -  person Backlin    schedule 25.05.2015


Ответы (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)

введите описание изображения здесь

person Zuguang Gu    schedule 25.05.2015