我有一个看起来像这样的数据框(如下图所示),本质上我想要一个显示 REF -> ALT 计数的热图。热图应将 x 轴作为 REF,y 轴作为 ALT,颜色越深 - 计数越高。
REF ALT COUNT
0 A C 3328
1 A G 11321
2 A T 3477
3 C A 3920
4 C G 3367
5 C T 11778
6 G A 11612
7 G C 3199
8 G T 3772
9 T A 3463
10 T C 11288
11 T G 3420
数据框正确调整形状后,您可以使用
heatmap
中的 seaborn
函数来可视化数据。
试试这个:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
# Sample data
data = {
'REF': ['A', 'A', 'A', 'C', 'C', 'C', 'G', 'G', 'G', 'T', 'T', 'T'],
'ALT': ['C', 'G', 'T', 'A', 'G', 'T', 'A', 'C', 'T', 'A', 'C', 'G'],
'COUNT': [3328, 11321, 3477, 3920, 3367, 11778, 11612, 3199, 3772, 3463, 11288, 3420]
}
df = pd.DataFrame(data)
# Reshape the dataframe to a matrix format
pivot_df = df.pivot(index='REF', columns='ALT', values='COUNT')
# Plot the heatmap
plt.figure(figsize=(10, 8))
sns.heatmap(pivot_df, annot=True, cmap='YlGnBu', fmt='g', linewidths=.5)
plt.title('REF -> ALT Counts Heatmap')
plt.show()
此代码将生成一个热图,其中 x 轴代表
REF
,y 轴代表 ALT
,颜色强度基于 COUNT
值。颜色越深,计数越高。