gpt4 book ai didi

python - 将 basemap 颜色条中的第一种颜色设置为灰色不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 13:11:42 26 4
gpt4 key购买 nike

我正在使用foll。在下面的 map 中绘制颜色条的代码

        import palettable
cmap = palettable.colorbrewer.sequential.PuRd_9.mpl_colormap
lcmap = [cmap(i) for i in range(cmap.N)]
lcmap[0] = (.5, .5, .5, 1.0) # force the first color entry to be grey
cmap = cmap.from_list('custom cmap', lcmap, cmap.N) # create the new map

但是,生成的 map 的第一种颜色不是灰色。我该如何解决?

最佳答案

当我运行您的 cmap 定义时,lcmap 的长度为 256 个条目,并且仅将第 0 个条目设置为新颜色在颜色栏或具有很少最低值的数据集中几乎不可见.我通过 (1) 将新颜色设置为绿色,以获得最大对比度,以及 (2) 将 lcmap 的 32 个最低条目设置为新颜色来夸大它,这很好。在 basemap 示例文件中 plotsst.py结果是:

enter image description here

从插入此代码以替换定义 im1 的行:

import palettable
cmap = palettable.colorbrewer.sequential.PuRd_9.mpl_colormap
lcmap = [cmap(i) for i in range(cmap.N)]
for i in range(32):
lcmap[i] = (0, .5, 0, 1.0)
cmap_green = cmap.from_list('0th entry green', lcmap, cmap.N)

im1 = m.pcolormesh(lons,lats,sst,shading='flat',cmap=cmap_green,latlon=True)

palettable.colorbrewer.sequential.PuRd_9 正如预期的那样有九个值,但将其转换为 mpl_colormap 可将其平滑为 256。

结合@Pablo Reyes的回答,插入的代码是

import palettable
cmap = palettable.colorbrewer.sequential.PuRd_9.mpl_colormap
lcmap = [cmap(i) for i in range(cmap.N)]
lcmap[0] = (0, .5, 0, 1.0)
cmap_green = cmap.from_list('0th entry green', lcmap, 9)

im1 = m.pcolormesh(lons,lats,sst,shading='flat',cmap=cmap_green,latlon=True)

结果是

enter image description here

给你!

关于python - 将 basemap 颜色条中的第一种颜色设置为灰色不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42080393/

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