настраиваемая цветовая панель matplotlib - PullRequest
1 голос
/ 02 декабря 2011

enter image description here

colors = ['white', '#FFFFBB', '#C3FDB8', '#B5EAAA', '#64E986', '#54C571', 
          '#4AA02C','#347C17','#347235','#25383C','#254117']

Я сделал график, используя matplotlib (похожий на тепловую карту) Я хотел бы либо:

1) создать легенду, используя цвета, которые я определил в списке, или
2) есть ли способ его автоматизации в matplotlib для создания такого же красивого эффекта, как в R? нормальный цветовой градиент matplotlib слишком "острый" выглядит ...

Спасибо!

1 Ответ

0 голосов
/ 02 декабря 2017

Довольно просто, используя ListedColormap :

import matplotlib.cm as cm  # color map
import matplotlib.gridspec as gridspec
import matplotlib as mpl
import numpy as np

#dummy data
hm = np.random.randint(0, 100, size=(5, 5))

#define colors
cmap = mpl.colors.ListedColormap(['white', '#FFFFBB', '#C3FDB8', '#B5EAAA', '#64E986', '#54C571',
          '#4AA02C', '#347C17', '#347235', '#25383C', '#254117'])

#create plot frames
gs = gridspec.GridSpec(2,2, height_ratios=[6,2], width_ratios=[20,1],)
ax = plt.subplot(gs[0, 0])

#heatmap and colorbar
im = ax.pcolor(hm, cmap=cmap)
cbar = plt.colorbar(im, cax=plt.subplot(gs[1]))

plt.show()

heatmap

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...