我花了太多时间研究此问题,但仍在浏览器中打开了一些标签: Link1 Link2 Link3 Link4

我应该在工作!

无论如何,我的问题是:我使用别人的脚本来生成许多热图,然后我必须对其进行检查和排序/分配:

这是一个示例: HM示例

我需要能够轻松地将0.03与零区分开,但是正如您所看到的,它们看起来几乎是相同的。 理想的解决方案是:白色(正零)-黄色-橙色-红色或白色(正零)-橙色-红色

开发人员使用“ YlOrRd”的方式如下:

sns.heatmap(heat_map, annot=True, fmt=".2g", cmap="YlOrRd", linewidths=0.5, 
                    linecolor='black', xticklabels=xticks, yticklabels=yticks
                    )

我尝试了一堆没有提供的标准/默认颜色图选项。

我没有构建颜色图的任何实际经验,也不想破坏已经在工作的东西。 有人有什么想法吗?

谢谢

**由于工作量有限,我只能张贴什么代码/示例。

#1楼 票数:0 已采纳

一种选择是从现有的颜色图中获取颜色,将第一个颜色替换为白色,然后根据这些操纵值创建新的颜色图。

import numpy as np; np.random.seed(42)
import matplotlib.pyplot as plt
import matplotlib.colors
import seaborn as sns

# some data
a = np.array([0.,0.002,.005,.0099,0.01,.0101,.02,.04,.24,.42,.62,0.95,.999,1.])
data = np.random.choice(a, size=(12,12))

# create colormap. We take 101 values equally spaced between 0 and 1
# hence the first value 0, second value 0.01
c = np.linspace(0,1,101)
# For those values we store the colors from the "YlOrRd" map in an array
colors = plt.get_cmap("YlOrRd",101)(c)
# We replace the first row of that array, by white
colors[0,:] = np.array([1,1,1,1])
# We create a new colormap with the colors
cmap = matplotlib.colors.ListedColormap(colors)

# Plot the heatmap. The format is set to 4 decimal places 
# to be able to disingush specifically the values ,.0099, .0100, .0101,
sns.heatmap(data, annot=True, fmt=".4f", cmap=cmap, vmin=0, vmax=1,
            linewidths=0.5,  linecolor='black')
plt.show()

在此处输入图片说明

  ask by DublinMeUp translate from so

未解决问题?本站智能推荐:

1回复

seaborn/matplotlib自定义颜色图

我有一个二维 numpy 数组,我想绘制显示不同颜色的区域(数据 < 0 为蓝色,0 <= 数据 < 5 为绿色,数据 > 5 为红色)。 本质上,我试图根据数据范围对连续数据使用分类颜色。 目前我正在使用numexpr对数据使用表达式(1 * (data < 0))
2回复

在seaborn中自定义颜色条-热图

我有一个热图来表示离散值。 如何在数据中指定这些颜色来表示颜色 = {1: 'A', 2: 'B', 3: 'C', 4: 'NA'}
2回复

如何在seaborn中制作具有许多独特颜色的颜色图

我想制作具有许多(数百个)独特颜色的颜色图。 这段代码: 返回具有 12 种独特颜色的 palplot。 但是这段代码: 返回具有 12 种独特颜色的 palplot,似乎重复了两次。 我如何获得 24 种(或更多)独特的颜色?
1回复

在Python中使用插值绘制热图或颜色图

我需要在 python 中创建一个“热图”或“颜色图”。 我有三个 python 列表,即:X_COORDINATE、Z_COORDINATE 和 C_I。 X_COORDINATE 和 Z_COORDINATE 列表包含我有特定数据点的 x 和 z 坐标(存储在 C_I 列表中)。 C_I 列
1回复

带有颜色图的matplotlib/seaborn小提琴图

我想用 matplotlib 或 searborn 创建一个小提琴图,其中根据颜色图对图进行着色。 这就是我得到的: 这就是我想要的(我在这里使用了 Photoshop): 我怎样才能获得所需的情节?
3回复

自定义注释Seaborn热图

我在Python中使用Seaborn来创建热图。 我可以使用传入的值对单元格进行注释,但是我想添加表示单元格含义的注释。 例如,我不仅希望看到0.000000 ,还希望看到相应的标签,例如“ Foo”或0.000000 (Foo) 。 关于Seamap功能的Seaborn文档在参数上有些
2回复

在python中使用matplotlib制作自定义色彩映射表

我有一个用matplotlib显示的图像。 该图像由以下代码生成: 我想应用自定义色图,以便值: 0-1之间是蓝色和白色的线性梯度 1-3之间是白色和红色的线性渐变。 任何帮助将不胜感激。
1回复

Seaborn自定义范围热图

我需要根据这些要求构建自定义的类似海洋热图的图: df df_info df每个值都应该在df_info定义的范围内。 例如,如果A列的值在 0.5 和 0.9 之间,则认为它们是正常的。 超出范围的值应使用自定义热图进行着色。 特别是: 下降为每列所限定的范围内的值不应该被着色,在白色背景