如何使用matplotlib的color map将数字映射到颜色?

2024-05-05 11:55:55 发布

您现在位置:Python中文网/ 问答频道 /正文

考虑一个包含浮点数的变量x。我想使用matplotlib的颜色映射将这个数字映射到一种颜色,但不打印任何东西。基本上,我希望能够选择带有mpl.cm.autumn的颜色映射,例如,使用mpl.colors.Normalize(vmin = -20, vmax = 10)设置范围,然后将x映射到相应的颜色。但是我真的没有mpl.cm的文档,所以如果有人能给我提示的话。


Tags: 文档matplotlib颜色cm数字mplnormalizecolors
2条回答

它就像cm.hot(0.3)一样简单,返回(0.82400814813704837, 0.0, 0.0, 1.0)

完整的工作程序可以读取

import matplotlib.cm as cm

print cm.hot(0.3)

如果还希望使用规格化器,请使用

import matplotlib as mpl
import matplotlib.cm as cm

norm = mpl.colors.Normalize(vmin=-20, vmax=10)
cmap = cm.hot
x = 0.3

m = cm.ScalarMappable(norm=norm, cmap=cmap)
print m.to_rgba(x)

通过提供介于0和1之间的参数(例如cm.autumn(0.5)),可以从colormap获取颜色。

如果游戏中存在规范化实例,则使用规范化的返回:

import matplotlib.cm as cm
from matplotlib.colors import Normalize

cmap = cm.autumn
norm = Normalize(vmin=-20, vmax=10)
print cmap(norm(5))

相关问题 更多 >