我尝试使用R中circlize
包中的chordDiagram()
函数在R中生成一个弦图的修改版本。
假设我们有这样一个简单的例子(关于包的文档):
require(circlize)
df = expand.grid(letters[1:3], LETTERS[1:4])
df$value = 1
df$value2 = 3
chordDiagram(df[, 1:3])
输出将非常简单:
现在,问题是:让我们假设我需要使两个“端点”重叠来表示一个交叉点,例如,从b--〉A出发的带状线和从a--〉A出发的带状线,这样它们就在同一个扇区结束,并相互“合并”(如下图所示)。
这可能吗?我在文档中没有找到任何示例,也无法通过调整选项来执行此任务。
希望我说得够清楚了。谢谢你的努力。
2条答案
按热度按时间2ul0zpep1#
如果我理解正确的话,这是可能的。这是
circlize
的一个例子,我无耻地复制了它来证明我的意思。pkmbmrz72#
如果我没理解错的话,你想在图中做重叠的部分,比如
S3 -> E2
和S2 -> E2
,你创建一个矩阵,它的格式可以让你在图中得到重叠的路径,我将用下面的代码给予你一个例子:首先创建一个矩阵,其中S和E具有不同的值:
接下来,创建一个 Dataframe ,其列格式为字符从到另一个字符(带值),以便更容易地检查模式:
使用
mat
绘制输出:正如您所看到的,
S3 -> E2
和S2 -> E2
的路径有一些重叠。