gpt4 book ai didi

python - 在 clustermap 上为等于零的值设置特定颜色

转载 作者:太空宇宙 更新时间:2023-11-03 14:14:14 25 4
gpt4 key购买 nike

我想在 seaborn 的聚类 map 图形输出方面得到一些帮助。

在我的数据中,我丢失了转换为 0 的数据。

我想为等于零的值使用白色,为其余值使用调色板。

有没有办法在cmap中标明?

import pandas as pd
from random import randint
import seaborn as sns
import matplotlib.pyplot as plt


df = pd.DataFrame({'A': [randint(1, 10) for x in xrange(10)]+[randint(30, 50) for x in xrange(5)]+[randint(70, 100) for x in xrange(5)],
'B': [randint(0, 2) for x in xrange(10)]+[randint(30, 50) for x in xrange(5)]+[randint(70, 100) for x in xrange(5)],
'C': [randint(0, 10) for x in xrange(10)]+[randint(30, 50) for x in xrange(5)]+[randint(60, 100) for x in xrange(5)],
'D': [randint(0, 40) for x in xrange(10)]+[randint(30, 50) for x in xrange(5)]+[randint(60, 100) for x in xrange(5)]})

cmap = sns.cubehelix_palette(as_cmap=True, start=.5, rot=-.75, light=.9)

sns.clustermap(df, figsize=(13, 13), cmap=cmap)

实际集群: Actual cluster

值为 0 的结果为白色: Result with white for values=0

最佳答案

clustermap 具有 kwarg mask。来自docs :

mask : boolean array or DataFrame, optional

If passed, data will not be shown in cells where mask is True. Cells with missing values are automatically masked. Only used for visualizing, not for calculating.

因此,对于您的示例,您可以使用 bool 数组,如下所示:mask=(df==0)

sns.clustermap(df, figsize=(13, 13), cmap=cmap, mask=(df==0))

enter image description here

关于python - 在 clustermap 上为等于零的值设置特定颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34786023/

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