pythonic生物人

Python和弦图自由!

和弦图(Chord Diagram)用于展示多个分类之间的相互关系。通过将分类表示为圆周上的分段,并用弧线(或弦)连接,直观展现流量、联系强度或交互模式,但在分类数量较多时需优化内容以避免视觉混乱。和弦图广泛运用于基因组学、社会网络分析等领域。


python的pycirclize结合matplotlib可快速绘制和弦图,

数据准备

import pandas as pd
gene = pd.read_csv('matplotlib_data/heatmap.csv', header=0, index_col=0)
gene

绘图

核心代码,

    circos = Circos.initialize_from_matrix(
        matrix_df,  # 提供数据矩阵,用于创建和弦图
        start=-265,  # 设置起始角度
        end=95,  # 设置结束角度
        space=5,  # 设置弦与弦之间的间距
        r_lim=(93, 100),  # 设置极坐标半径范围
        cmap="Accent",  # 设置颜色映射方案
        label_kws=dict(r=94, size=12, color="black"),  # 设置标签位置、大小和颜色
        link_kws=dict(ec="black", lw=0.5),  # 设置弦线颜色和宽度
    )
    circos.plotfig(ax=ax)
Image

图中的节点(Node)表示类别或实体,分布在圆周上,例如,“样本1”、“基因21”等;弦(Chord)表示节点之间的关系,弦的宽度代表两类之间的联系强度或数值。

本期内容「绘图数据+代码+代码详细解释」已上传:

👉Python matplotlib保姆级教程

Image

👉Python seaborn保姆级教程

Image