Ручная настройка цветовой карты для цветовой панели 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))

Я очень ценю вашу помощь и содействие.


person madf19    schedule 01.07.2016    source источник
comment
Вы видели stackoverflow.com/questions/16834861/ ?   -  person lanery    schedule 01.07.2016


Ответы (1)


Хотя сообщение, на которое ссылается мой комментарий, отвечает на ваш вопрос, оно, вероятно, слишком сложно. Существует гораздо более простой подход, показанный Джо Кингтоном в этот пост, в котором используется 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']])

Так что вы можете получить такие сюжеты, как

введите здесь описание изображения

person lanery    schedule 01.07.2016
comment
Очень признателен, не могли бы вы сообщить мне, где я могу получить цветовую кодировку, такую ​​​​как вы упомянули? 'dark_violet': '#880088' - person madf19; 01.07.2016
comment
Я нашел ссылки. Спасибо еще раз. matplotlib.org/examples/color/named_colors.html - person madf19; 01.07.2016
comment
Это хороший справочник, но для всего, что связано с цветом в matplotlib, я предпочитаю colorbrewer2.org - person lanery; 01.07.2016