gpt4 book ai didi

python - 带有特定颜色轴标签的热图

转载 作者:行者123 更新时间:2023-12-01 02:46:36 27 4
gpt4 key购买 nike

我正在尝试使用 pandas 数据框中的 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 种不同类型的“GROUP”、约 60,000 种类型的“VAR”和 540 种“SAMPLE”。我不确定这是否是在 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()

我不知道如何让“GROUP”沿 x 轴显示,无论是作为附加轴还是只是为轴标签着色?任何帮助将非常感激。

我不确定“MUT”列作为 bool 变量是否是一个问题,每个“VAR”上的 df_all 都是“TRUE”,但随着数据透视的建立,任何没有特定“VAR”的样本填充为 0,其他填充为 1。我的目标是尝试对具有相似“VAR”配置文件的样本进行聚类。我希望这有帮助。

如果我可以进一步澄清任何事情,请告诉我?非常感谢

最佳答案

看一下这个例子。您可以向 clustermap 函数提供列表或数据框列。通过指定 col_colors 参数或 row_colors 参数,您可以根据该列表为行或列指定颜色。

在下面的示例中,我使用 iris 数据集并创建一个 pandas 系列对象来指定特定行应具有的颜色。该 pandas 系列作为 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

关于python - 带有特定颜色轴标签的热图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45192917/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com