当前位置:  开发笔记 > 编程语言 > 正文

绘制分类热图保持(x,y)值颜色

如何解决《绘制分类热图保持(x,y)值颜色》经验,为你挑选了0个好方法。

我一直在使用python,pandas和seaborn来获得具有不同colormaps/columns的热图.感谢这个问题,我做了以下事情:

示例Dataframe(sample.csv):

X,a,b,c
A,0.5,0.7,0.4
B,0.9,0.3,0.8
C,0.3,0.4,0.7

使用Seaborn绘制热图

import pandas as pd
import matplotlib as mpl
# Set new Backend to Use Seaborn
# mpl.use('Agg')
import seaborn as sns
import matplotlib.pyplot as plt
import matplotlib.cm as cm
import colorsys

# Working example data:
df = pd.DataFrame([[0.5,0.7,0.4],[.9,.3,.8],[.3,.4,.7]],['A','B','C'])    

# Get Color List
N = 3
COL = [colorsys.hsv_to_rgb(x*1.0/N, 0.7, 0.5) for x in range(N)]

with sns.axes_style('white'):

    for i, name in enumerate(df.columns):

        # Create cmap
        colors = COL[i]
        cmap = sns.light_palette(colors, input='rgb', reverse=False, as_cmap=True)

        sns.heatmap(df.mask(df.isin(df[name])!=1),
                    cbar=False,
                    square=True,
                    annot=False,
                    cmap=cmap,
                    linewidths=0.1)
plt.show()

这会产生一个带有不同colormaps/column的热图(这些值只是为了澄清问题):

在此输入图像描述

现在我想使用排序的数据框生成相同的图,如:

X,col1,col2,col3
A,0.7,0.5,0.4
B,0.9,0.8,0.3
C,0.7,0.4,0.3

试图保持对(索引,列)原来的颜色,像下面的预期输出草案(值表示,我需要的是只有颜色):

在此输入图像描述

编辑:

修正了一些拼写错误,现在df是表示工作矩阵的数据帧.

推荐阅读
有风吹过best
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有