我想在使用seaborn 进行聚类图的图形输出方面获得一些帮助。
在我的数据中,我缺少转换为 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:
Result with white for values=0: