首页 > 解决方案 > 用于绘制连续数据点之间相互关系的弦图

问题描述

我想以混合圆形散点图和弦图的风格绘制数字数据点之间的成对相互关系。

与“真实”和弦图相比,我只有一个扇区,其中包含一对圆形连续值,它们代表一天中的不同时间(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()

标签: rchord-diagramcirclize

解决方案


如果我理解正确,您可以强制将时间视为一个因素,它有两个层次。那么实际的时间值将是 Group 和 Time 之间的链接。

虽然,我认为如果你只做一个 barplotin ggplot 可能会更好,并使用两种不同的颜色来指示 time1 和 time2。所以这样一来,比较容易比较,就我的两分钱。


推荐阅读