gpt4 book ai didi

matplotlib - 确保 0 在 RdBu 颜色条中变为白色

转载 作者:行者123 更新时间:2023-12-04 23:18:13 32 4
gpt4 key购买 nike

我使用以下代码段创建了一个热图:

import numpy as np
import matplotlib.pyplot as plt
d = np.random.normal(.4,2,(10,10))
plt.imshow(d,cmap=plt.cm.RdBu)
plt.colorbar()
plt.show()

结果如下图:
enter image description here

现在,由于数据的中间点不是 0,因此颜色图值为 0 的单元格不是白色,而是略带红色。

如何强制颜色图使 max=blue、min=red 和 0=white?

最佳答案

使用 DivergingNorm .
注:从 matplotlib 3.2 开始 DivergingNorm更名为 TwoSlopeNorm

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.colors as mcolors

d = np.random.normal(.4,2,(10,10))

norm = mcolors.DivergingNorm(vmin=d.min(), vmax = d.max(), vcenter=0)
plt.imshow(d, cmap=plt.cm.RdBu, norm=norm)

plt.colorbar()
plt.show()
enter image description here

关于matplotlib - 确保 0 在 RdBu 颜色条中变为白色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57180317/

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