Аккордовая диаграмма с концами звеньев неравной ширины - PullRequest
0 голосов
/ 16 апреля 2020

Я пытаюсь построить диаграмму аккордов, используя circlize, и я сталкиваюсь с проблемами, пытаясь заставить ссылки иметь различную ширину на каждом конце, в зависимости от входного значения.

chordDiagram() функция принимает либо матрицу смежности, либо фрейм данных, с 3 или 4 столбцами, причем первые два столбца - это две дуги, соединяемые ссылкой, а 3-е значение - сила ссылки, определяющая ее ширину. Если пользователь предоставляет фрейм данных с 4 столбцами, предыдущий 3 и дополнительный 4-й, который также содержит значение, тогда эти два значения определяют две разные ширины на концах ссылки.

Из в циклическом режиме book ,

Почти на всех диаграммах аккордов, показанных в этой главе [..], ширина двух концов ссылки всегда одинакова. Это означает, что такое же количество информации поступает из одного сектора и уходит в другой сектор. Однако в некоторых случаях это не всегда так. [..] Поскольку оба конца имеют различную ширину, теперь фрейму данных нужны два числовых столбца, которые соответствуют двум концам ссылок.

Однако при попытке сделать это, возникает диаграмма аккордов имеет пустые сегменты и перекрывающиеся сегменты.

library(circlize)

    dfx0 = data.frame(x = c(rep("a",4),rep("b",2),rep("c",1),rep("d",2)), 
                      y = c("a","b","c","d","b","d","c","c","d"), 
                      values1 = c(5,4,3,5,2,6,1,2,1), 
                      values2 = c(0,2,10,4,0,4,0,3,0))

    x = chordDiagram(dfx0,self.link = 1, grid.col = c(1:4))

Создано в 2020-04-16 пакетом представлением (v0.3.0)

Я попытался указать другие значения в values2 в случае собственных ссылок, либо то же значение, что и в values1, либо 0, и я попытался установить self.link в 1 или 2, но созданная диаграмма аккордов все еще имеет те же проблемы.

Есть ли способ исправить это или есть другой способ достичь желаемого результата?

...