手动设置颜色条 Matplotlib 的颜色图

Manual set up colormap for color-bar Matplotlib

我想创建以下颜色图。

mycolorbar1 =  [dark-violet light-green dark-red dark-blue]

mycolorbar2 =  [dark-brown dark-red]

然后我可以在我的代码的以下部分中使用它们。

plt.tricontourf(triang1, Z1,v1,cmap=mycolorbar1, norm=plt.Normalize(vmin=v1mi,vmax=v1ma))

plt.tricontourf(triang2, Z2,v2,cmap=mycolorbar2, norm=plt.Normalize(vmin=v2mi,vmax=v2ma))

非常感谢您的帮助和帮助。

虽然 post 我的评论链接可以回答您的问题,但它可能过于复杂。 Joe Kington 在 this post 中展示了一种更直接的方法,它使用 LinearSegmentedColormap.from_list() 来实现自定义颜色映射。

from matplotlib.colors import LinearSegmentedColormap

color_dict1 = {'dark_violet': '#880088',
               'light_green': '#00CC00',
               'dark_red':    '#AA0000',
               'dark_blue':   '#0000AA'}

color_dict2 = {'dark_brown': '#d95f0e',
               'dark_red':   '#e34a33'}


mycolorbar1 = LinearSegmentedColormap.from_list('mycolorbar1', [
    color_dict1['dark_violet'],
    color_dict1['light_green'],
    color_dict1['dark_red'],
    color_dict1['dark_blue']])

mycolorbar2 = LinearSegmentedColormap.from_list('mycolorbar2', [
    color_dict2['dark_brown'],
    color_dict2['dark_red']])

这样你就可以得到像

这样的情节