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)
图中的节点(Node)表示类别或实体,分布在圆周上,例如,“样本1”、“基因21”等;弦(Chord)表示节点之间的关系,弦的宽度代表两类之间的联系强度或数值。
本期内容「绘图数据+代码+代码详细解释」已上传:
👉Python matplotlib保姆级教程