在matplotlib colormap中选择起始颜色

2024-04-30 00:57:54 发布

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

我展示了下图。目前,该图形的colorscheme使用颜色贴图的整个范围(mpl.cm.配对). 我想做的是如何限制matplotlib只使用colormap的一个子集。在这种情况下,我试图使开始颜色是一个较深的蓝色阴影。下面是我代码的绘图部分:

Figure = plt.figure(figsize=(22,10))
Map    = Basemap(projection='robin', lon_0=0, resolution='l')
x, y   = Map(LONS, LATS)
levels = np.arange(0, 4100, 100)
fcp    = Map.contourf(x, y, data, levels, interpolation="bicubic", cmap=mpl.cm.Paired)

cb = Map.colorbar(fcp, "bottom", size="5%", pad='5%', extendrect=False)
cb.ax.tick_params(labelsize=18)
cb.solids.set_edgecolor("face")
cb.set_label("metres",fontsize=18)
cb.ax.set_aspect(0.047)

Map.drawcoastlines(linewidth=1)
Map.drawmapboundary(linewidth=1)
Map.drawmeridians([-150,-100,-50,0,50,100, 150],labels=[1,1,1,0],fontsize=18)
Map.drawparallels([-60,-30,0,30,60],labels=[1,1,1,1],fontsize=18)

enter image description here


Tags: 图形maplabelsmatplotlib颜色cmaxmpl
1条回答
网友
1楼 · 发布于 2024-04-30 00:57:54

{1{1调用一个新的colors}(然后调用-1的一个子集)来定义这个函数

import matplotlib.colors as mcol

lvTmp = np.linspace(0.1,1.0,len(levels)-1)
cmTmp = mlp.cm.Paired(lvTmp)
newCmap = mcol.ListedColormap(cmTmp)

您需要调整0.1中的0.1值,以便从内置的colormap中获得想要的起始颜色。在

enter image description here

相关问题 更多 >