gpt4 book ai didi

python - 自定义颜色图Matplotlib,使一个值成为规定的颜色

转载 作者:行者123 更新时间:2023-12-01 04:57:00 29 4
gpt4 key购买 nike

我在 python 中有一个数组,使用 matplotlib,浮点范围在 0 到 1 之间。

我正在用 imshow 显示这个数组,我正在尝试创建一个自定义 cmap,它与 Greens 相同,但是当单元格变为 0 时,我希望能够将该值映射到红色,并保留其余的光谱不变。

如果任何更熟悉 matplotlib 的人能够帮助我,我将不胜感激!

例如,我将如何编辑此脚本以使矩阵中的零值显示为红色?

import numpy as np

from matplotlib import pyplot as plt

import matplotlib

x = np.array([[0,1,2],[3,4,5],[6,7,8]])

fig = plt.figure()

cmap_custom = matplotlib.cm.Greens

plt.imshow( x, interpolation='nearest' ,cmap = cmap_custom)

plt.colorbar()

plt.show()

最佳答案

matplotlib 中的颜色图允许您为定义范围之外的值设置特殊颜色。在您的情况下,使用 cmap_custom.set_under('r') 指定低于定义范围的值的颜色。然后,您还需要指定范围的下限:vmin=0.01(只是某个值 > 0)。最后使用 plt.colorbar(extend='min') 创建颜色条。

import numpy as np
from matplotlib import pyplot as plt
import matplotlib

x = np.array([[0,1,2],[3,4,5],[6,7,8]])

fig = plt.figure()
cmap_custom = matplotlib.cm.Greens
cmap_custom.set_under('r')
plt.imshow( x, interpolation='nearest' ,cmap = cmap_custom, vmin=0.01)
plt.colorbar(extend='min')
plt.show()

关于python - 自定义颜色图Matplotlib,使一个值成为规定的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27174118/

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