gpt4 book ai didi

python - Seaborn 热图中按行进行颜色缩放

转载 作者:行者123 更新时间:2023-12-04 10:39:52 26 4
gpt4 key购买 nike

我想在 Seaborn 中制作热图,其中颜色按行缩放。我的意思是,一行中的最高值在图例中具有最高的颜色,而在一行中的最低值 - 最低。我怎么能做到?

这是我的代码:

sales = sales.pivot_table(index='Sources', columns='Category', values='Value')

sns.heatmap(sales,annot=True, cmap='coolwarm',fmt='g',linewidths=1,linecolor='black',).set_title('Sales')

这是我从中得到的热图

enter image description here

最佳答案

使用 numpy.argsort您可以找到每行中值的顺序。使用结果作为着色的基础将为您提供每行的映射。

import numpy as np; np.random.seed(42)
import matplotlib.pyplot as plt
from matplotlib.ticker import FixedFormatter

data = np.random.randint(1,250, size=(10,6))
b = np.argsort(np.argsort(data, axis=1), axis=1)

im = plt.imshow(b, aspect="auto", cmap="coolwarm")
plt.colorbar(im, ticks=np.array([0.0, 0.5, 1.0])*b.max(),
format=FixedFormatter(["low", "middle", "high"]))

for i in range(data.shape[0]):
for j in range(data.shape[1]):
plt.text(j,i,data[i,j], ha="center", va="center")

plt.show()

enter image description here

关于python - Seaborn 热图中按行进行颜色缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59984762/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com