[英]Heatmap with specific axis labels coloured
我正在尝试从熊猫数据框中绘制带有2列数据的热图。 但是,我想使用第三列来标记x轴,理想情况下是用颜色标记,尽管另一种方法(例如附加轴)也同样适用。 我的数据框是:
MUT SAMPLE VAR GROUP
True s1 1_1334442_T CC002
True s2 1_1334442_T CC006
True s1 1_1480354_GAC CC002
True s2 1_1480355_C CC006
True s2 1_1653038_C CC006
True s3 1_1730932_G CC002
...
只是为了更好地了解数据; 有9种不同的“组”,约60,000种“ VAR”和540种“样本”。 我不确定这是否是在python中构建热图的最佳方法,但这是到目前为止我所发现的:
pivot = pd.crosstab(df_all['VAR'],df_all['SAMPLE'])
sns.set(font_scale=0.4)
g = sns.clustermap(pivot, row_cluster=False, yticklabels=False, linewidths=0.1, cmap="YlGnBu", cbar=False)
plt.show()
我不确定如何使“组”沿x轴显示,作为附加轴还是仅对轴标签着色? 任何帮助将非常感激。
我不确定这里是否是布尔变量的'MUT'列是否存在问题,每个'VAR'上的df_all是否为'TRUE',但是当进行数据透视时,所有没有特定'VAR'的样本都会被填充为0,其他填充为1。我的目的是尝试对具有相似“ VAR”配置文件的样本进行聚类。 我希望这有帮助。
请让我知道是否可以进一步澄清? 非常感谢
看一下这个例子。 您可以将列表或数据clustermap
列提供给clustermap
函数。 通过指定col_colors
参数或row_colors
参数,您可以为基于该列表的行或列提供颜色。
在下面的示例中,我使用虹膜数据集并创建一个pandas系列对象,该对象指定特定行应具有的颜色。 该熊猫系列作为row_colors
的参数row_colors
。
iris = sns.load_dataset("iris")
species = iris.pop("species")
lut = dict(zip(species.unique(), "rbg"))
row_colors = species.map(lut)
g = sns.clustermap(iris, row_colors=row_colors,row_cluster=False)
此代码产生以下图像。
您可能需要进一步调整,以包括用于组着色的图例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.