【发布时间】:2020-12-30 21:53:13
【问题描述】:
我有一个 pandas 数据框,用于为热图着色。我想沿数据框的对角线为值着色。如果对角线包含五个值 [-1,2,0,-2,5],我想将它们着色为“白色”中的 0,然后是浅红色中的 2,最深红色中的 5,然后是 -1较浅的蓝色,最深的蓝色为-2(仅表示值之间的强度,其中较深的红色与正值对应,较深的蓝色与负值对应)。示例代码如下:
import pandas as pd
import seaborn as sns
list1 = [[10],[5,-2],[-1,2,-3],[4,-5,3,-2]]
dfff = pd.DataFrame(l1)
print (dfff)
sns.heatmap(dfff,square=True, linewidths=.5, cbar_kws={"shrink": .5})
我希望对角线有颜色,比如第一个实例,第一个对角线是 [10,-2,-3,-2]。我希望根据它们的强度将它们着色为 10,最深的红色、2-、-3、-2 为蓝色。
感谢任何帮助。谢谢。
【问题讨论】:
标签: python pandas matplotlib seaborn heatmap