gpt4 book ai didi

python - Matplotlib + Cartopy : How to use contourf with custom colormap

转载 作者:太空宇宙 更新时间:2023-11-03 20:46:58 24 4
gpt4 key购买 nike

我有一组点,用于使用 contourf 绘制 map 。

我需要为这张 map 提供一个特定的调色板,涉及特定的数据点,以及为超出限制的数据设置的颜色。

所以,我有 levels=[0, 2, 20, 100] 并且我正在寻找一个像下面这样的 cmap:

cmap=LinearSegmentedColormap.from_list([
(0, color1),
(2, color2),
(20, color3),
(100, color4),
])
cmap.set_over(color5)

问题是点必须标准化,如下所示:

cmap=LinearSegmentedColormap.from_list([
(0 / max_value, color1),
(2 / max_value, color2),
(20 / max_value, color3),
(100 / max_value, color4),
])
cmap.set_over(color5)

我的问题是,我的数据是可变的,所以我不知道我的 max_value 是多少。我只是想“忽略”数据超过 100,并用 color5 绘制它。

我知道我可以事先操纵我的数据,让所有超过 100 的数据实际上都为 100,或者实时找到 max_value,但这些方法对我来说似乎很老套。

有没有办法使用matplotlib函数来实现这一点?

最佳答案

我最终在 [0,1] 之间标准化了我的数据,如下所示:

def normalizer(lower_bound, upper_bound):
_lower = float(lower_bound)
_upper = float(upper_bound)

def do_norm(x):
return (float(x) - _lower) / (_upper - _lower)

return do_norm

normalize = normalizer(0, 20)
normalize(10) # 0.5

关于python - Matplotlib + Cartopy : How to use contourf with custom colormap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56528038/

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