小编Cer*_*akM的帖子

seaborn 热图中的自定义调色板间隔

我正在尝试使用 seaborn 库绘制热图

绘图函数如下所示:

def plot_confusion_matrix(data, labels, **kwargs):
    """Visualize confusion matrix as a heat map."""
    col_map = kwargs.get('color_palette', sns.light_palette('navy', n_colors=5, as_cmap=False))

    sns.heatmap(
        vmin=0.0,
        vmax=1.0,
        data=data,
        cmap=col_map,
        xticklabels=labels,
        yticklabels=labels,
        linewidths=0.75,
    )
Run Code Online (Sandbox Code Playgroud)

data然而,的直方图看起来像这样: 直方图

现在我正在努力解决的问题是 seaborn 热图(查看波纹管)均匀地分割色标,因此大多数数据具有相同的颜色(因为数据分布不均匀)。

我无法找到如何为颜色级别设置某种间隔或边界。

假设我有以下十六进制颜色值数组:

['#e5e5ff', '#acacdf', '#7272bf', '#39399f', '#000080']

有没有办法设置颜色,例如

[(threshold_0, hex_0), (threshold_1, hex_1), ..., (threshold_n, hex_n)]

其中threshold_i是 [0, 1) 范围内的值


感谢任何帮助。

PS:用于说明的当前热图:

在此处输入图片说明

python data-visualization matplotlib heatmap seaborn

4
推荐指数
1
解决办法
1万
查看次数