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

Psi*_*rus 54 python matplotlib

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

Dav*_*ker 87

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

完整的工作计划可以阅读

import matplotlib.cm as cm

print cm.hot(0.3)
Run Code Online (Sandbox Code Playgroud)

如果您还想使用标准化器,请使用

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)
Run Code Online (Sandbox Code Playgroud)


Imp*_*est 11

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

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

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

cmap = cm.autumn
norm = Normalize(vmin=-20, vmax=10)
print cmap(norm(5))
Run Code Online (Sandbox Code Playgroud)