Python Matplotlib颜色映射范围

Python Matplotlib颜色映射范围,python,matplotlib,seaborn,colormap,Python,Matplotlib,Seaborn,Colormap,我试图理解matplotlibcolormaps是如何工作的。考虑下面的代码: import matplotlib.pyplot as plt cmap = plt.get_cmap('jet') print cmap(200) 哪张照片 (1.0, 0.46550472040668145, 0.0, 1.0) 因此,我的理解是,颜色贴图将数值(本例中为200)映射为颜色值(本例中为1.0,0.46550472040668145,0.0,1.0)。matplotlib如何设置其颜色贴图的范围

我试图理解
matplotlib
colormaps是如何工作的。考虑下面的代码:

import matplotlib.pyplot as plt
cmap = plt.get_cmap('jet')
print cmap(200)
哪张照片

(1.0, 0.46550472040668145, 0.0, 1.0)
因此,我的理解是,颜色贴图将数值(本例中为200)映射为颜色值(本例中为1.0,0.46550472040668145,0.0,1.0)。matplotlib如何设置其颜色贴图的范围

是否可以定义应用线性映射的最大值和最小值?使用
imshow()
可以设置
vmin
vmax
参数,但是,我必须在colormap级别进行设置,因为我稍后会将colormap提供给另一个函数


这可能是一个关于如何使用彩色贴图的更一般的问题;例如,在seaborn的调色板中,也没有范围选项。

颜色贴图的范围始终在0和1之间。您需要将数据标准化到此范围。例如,要将0到400之间的范围线性映射到colormap的颜色

import matplotlib.pyplot as plt
cmap = plt.get_cmap('viridis')
norm = plt.Normalize(0, 400)

color = cmap(norm(200.))