【发布时间】:2021-05-08 17:19:42
【问题描述】:
我需要根据这些要求构建自定义的 seaborn 类热图:
import pandas as pd
df = pd.DataFrame({"A": [0.3, 0.8, 1.3],
"B": [4, 9, 15],
"C": [650, 780, 900]})
df_info = pd.DataFrame({"id": ["min", "max"],
"A": [0.5, 0.9],
"B": [6, 10],
"C": [850, 880]})
df_info = df_info.set_index('id')
df
A B C
0 0.3 4 650
1 0.8 9 780
2 1.3 15 900
df_info
id A B C
min 0.5 6 850
max 0.9 10 880
df 中的每个值都应该在df_info 中定义的范围内。
例如,A 列的值如果在 0.5 和 0.9 之间,则被认为是正常的。超出范围的值应使用自定义热图进行着色。
特别是:
- 在为每列定义的范围内的值不应在白色背景单元格上用纯黑色文本着色。
- 该列低于
min的值应着色,例如蓝色。从 min 开始,它们的值越低,蓝色的阴影越深。 - 该列的高于
max的值应着色,例如红色。从最大值开始,它们的值越高,红色越深。
问:我不知道如何使用标准热图来解决此问题,我什至不确定是否可以使用热图来完成此操作。有什么建议吗?
【问题讨论】:
标签: python pandas seaborn heatmap