热图,特定轴标签为彩色

2024-06-09 14:13:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用熊猫数据框中的两列数据绘制热图。然而,我想用第三列来标记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种不同类型的“GROUP”、约60000种类型的“VAR”和540个“SAMPLE”。我不确定这是否是在python中构建热图的最佳方法,但以下是我到目前为止得出的结论:

^{pr2}$

我不知道如何让“GROUP”沿着x轴显示,或者作为一个附加轴,或者只是给轴标签着色?任何帮助都将不胜感激。在

我不确定“MUT”列作为布尔变量是否是一个问题,df_all在每个“VAR”上都是“TRUE”,但随着pivot的建立,任何没有特定“VAR”的示例都将填充为0,其他示例填充为1。我的目的是尝试用相似的“VAR”曲线对样本进行聚类。我希望这有帮助。在

请让我知道如果我可以进一步澄清什么?非常感谢


Tags: 数据sample方法标记true示例类型var
1条回答
网友
1楼 · 发布于 2024-06-09 14:13:56

看看这个例子。您可以给clustermap函数指定一个列表或一个dataframe列。通过指定col_colors参数或row_colors参数,可以为基于该列表的行或列赋予颜色。在

在下面的示例中,我使用iris数据集并生成一个pandas series对象,该对象指定特定行应该具有哪种颜色。熊猫系列是作为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)

此代码将生成以下图像。在

您可能需要进一步调整,以包括一个图例的颜色组。在

enter image description here

相关问题 更多 >