#r #chord-diagram #circlize
#r #диаграмма аккордов #обвести
Вопрос:
Я хотел бы построить попарные взаимосвязи между точками числовых данных в стиле смешанной круговой диаграммы рассеяния и диаграммы аккордов.
В отличие от «реальной» диаграммы аккордов, у меня есть только один сектор с парами круговых непрерывных значений, которые представляют разное время суток (0-24 ч), которые назначены разным категориальным группам:
> time1 <- c(4.85, 6.44, 15.45, 12.53, 5.24, 16.05)
> time2 <- c(16.78, 18.26, 5.94, 7.11, 15.45, 5.07)
> group <- c("A", "C", "D", "B", "A", "D")
> time_df <- cbind.data.frame(group, time1, time2)
> time_df
group time1 time2
1 A 4.85 16.78
2 C 6.44 18.26
3 D 15.45 5.94
4 B 12.53 7.11
5 A 5.24 15.45
6 D 16.05 5.07
Между каждой из этих временных точек должна быть линия, окрашенная в соответствии с группой, к которой отнесена пара.
Я попытался использовать chordDiagram()
функцию из пакета R circlize
, чтобы реализовать это, но вскоре заметил, что она в основном используется для связей между категориальными данными.
Знаете ли вы другой пакет R, который можно было бы использовать для такого рода визуализации, или это все-таки можно сделать с помощью circlize::chordDiagram()
?
Ответ №1:
Если я правильно понимаю, вы можете заставить рассматривать время как фактор, и оно имеет два уровня. Тогда фактические значения времени будут связями между группой и временем.
Хотя, я думаю, было бы лучше, если бы вы просто сделали гистограмму в ggplot и использовали два разных цвета для обозначения time1 и time2. Таким образом, они параллельны и их легче сравнивать, это всего лишь мои два цента.