gpt4 book ai didi

python - 当调色板发散时,如何使用最小值和最大值设置热图颜色?

转载 作者:太空宇宙 更新时间:2023-11-03 14:54:23 25 4
gpt4 key购买 nike

我想设置调色板比例的最大值和最小值。在下面的示例中,我希望调色板的比例从 -10 变为 50,就好像它是一个连续的颜色图一样。我真的不在乎突出显示数字越过“零线”的位置。

import matplotlib.pyplot as plt
from matplotlib import cm
import numpy as np
import pandas as pd
import seaborn as sns

index = np.arange(0, 50)
data = np.random.uniform(low=-10, high=100, size=(50,50))
dft = pd.DataFrame(index=index, columns=index, data=data)
fig, ax = plt.subplots(figsize=(10,10))
cbar_ax = fig.add_axes([.905, 0.125, .05, 0.755])
ax = sns.heatmap(dft, linewidths=.5, cmap=cm.YlGnBu, cbar_kws={'label': 'label'},
ax=ax, square=True, cbar_ax=cbar_ax, center=55)
plt.show()

但是如果我这样做:

ax = sns.heatmap(dft, linewidths=.5, cmap=cm.YlGnBu, cbar_kws={'label': 'label'},
ax=ax, square=True, cbar_ax=cbar_ax, vmax=50, vmin=-10)

调色板从 -50 变为 50,vmin=-10 被忽略。

最佳答案

来自docs (对于 vmin、vmax),

When a diverging dataset is inferred, one of these values may be ignored.

您应该使用 center 参数来指定颜色图居中的值,结合 vmaxvmin 之一来指定一个限制。

vmin, vmax = -10, 50
sns.heatmap(..., center=(vmin + vmax) / 2., vmax=vmax)

关于python - 当调色板发散时,如何使用最小值和最大值设置热图颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43764981/

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