python – 将底图颜色栏中的第一个颜色设置为灰色不起作用
发布时间:2020-12-20 11:57:44 所属栏目:Python 来源:网络整理
导读:我正在使用foll.用于在下面的地图中绘制颜色条的代码 import palettable cmap = palettable.colorbrewer.sequential.PuRd_9.mpl_colormap lcmap = [cmap(i) for i in range(cmap.N)] lcmap[0] = (.5,.5,1.0) # force the first color entry to be grey cmap
我正在使用foll.用于在下面的地图中绘制颜色条的代码
import palettable cmap = palettable.colorbrewer.sequential.PuRd_9.mpl_colormap lcmap = [cmap(i) for i in range(cmap.N)] lcmap[0] = (.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 但是,生成的地图的第一种颜色不是灰色.我该如何解决? 解决方法
当我运行cmap定义时,lcmap长度为256个条目,并且在颜色栏或几乎没有最低值的数据集中几乎看不到将第0个条目设置为新颜色.我把它夸大了(1)将新颜色设置为绿色,以获得最大对比度,以及(2)将lcmap的32个最低条目设置为新颜色,这很好.在底图示例文件
plotsst.py中,结果是:
插入此代码以替换定义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,1.0) cmap_green = cmap.from_list('0th entry green',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,9) im1 = m.pcolormesh(lons,latlon=True) 结果是 你去! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |