Python 中的和弦图

BKS*_*BKS 6 python chord-diagram

您好,有一个 DataFrame:

Source   Target    Value     
A        B         10       
A        C         5    
A        D         15
A        E         20
A        F         3
B        A         3
B        G         15
F        D         13
F        E         2
E        A         20
E        D         6
Run Code Online (Sandbox Code Playgroud)

并想使用 Python 绘制这个和弦图:

在此输入图像描述

我在以下链接中找到了这个和弦图: https: //www.data-to-viz.com/graph/chord.html。它指出该图是使用 circlize 库(我相信它是一个 R 库)制作的。在 Python 中也有办法做到这一点吗?

我还希望能够为每个元素选择颜色(在我的例子中为 A 到 G)并在圆周上书写,如示例图像所示。

这是另一个带有颜色的 DataFrame 例如:

Name   Color
A      Red
B      Orange
C      Yellow
D      Green
E      Blue
F      Purple
Run Code Online (Sandbox Code Playgroud)

如果可能的话,还有一个箭头提示可以帮助区分源和目标,如示例图像中所示。

我在 python 中找不到一个现成的可用库可以为我做到这一点。

McL*_*nce 5

基于@mportes 的回答,

  • Chord 库现在是一项付费服务​​,包含在plotapi中。
  • 在plotly中绘制和弦图似乎相当复杂,并且该示例仅适用于v3。

因此,最适合我的解决方案是使用 Holoviews。 是一个示例图。我不知道你是否可以制作箭头,但是从源到目标的方向很容易识别,因为和弦始终具有源颜色。


mpo*_*tes 3

您共享链接的页面有一个“构建您自己的”部分,其中包含指向Python Gallery 的链接。在这里您可以找到用 Python 制作和弦图的三种替代方法:

  • 使用和弦库
  • 使用 Bokeh 库
  • 使用 Plotly 库