Matplotlib颜色映射范围

2024-05-20 21:00:14 发布

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

我想了解matplotlib颜色图是如何工作的。考虑以下代码:

import matplotlib.pyplot as plt
cmap = plt.get_cmap('jet')
print cmap(200)

哪个指纹

^{pr2}$

所以我的理解是,颜色贴图将数值(在本例中为200)映射到颜色值(在本例中为1.0、0.46550472040668145、0.0、1.0)。matplotlib如何设置其colormap的范围?在

是否可以定义一个最大值和一个最小值,在这两个值之间应用线性映射?使用imshow()可以设置vminvmax参数,但是,我必须在colormap级别执行此操作,因为我稍后将向另一个函数提供colormap。在

这可能是一个关于颜色映射如何工作的更一般的问题;例如,在seaborn的调色板中,也没有范围的选项。在


Tags: 代码importgetmatplotlib颜色asplt指纹
1条回答
网友
1楼 · 发布于 2024-05-20 21:00:14

颜色贴图的范围始终介于0和1之间。您需要将数据规范化到这个范围。例如,要将0到400之间的范围线性映射到colormap的颜色

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

color = cmap(norm(200.))

相关问题 更多 >