2016-01-21 2 views
2

Я хотел бы использовать циновку matplotlib с цветами из палитры.Использовать цветовые карты вместе с циферблатом matplotlib

велосипедист выглядит следующим образом:

from cycler import cycler 
plt.rc('axes', prop_cycle=(cycler('color', ['r', 'g', 'b', 'y']) + 
          cycler('linestyle', ['-', '--', ':', '-.']))) 

Как заменить список цвета выше с цветовой карты я получить от palettable?

import palettable 
cmap = palettable.colorbrewer.diverging.PRGn_11.mpl_colormap 

Для ответа, это не критично, чтобы использовать palettable, но важно знать, как использовать цветовую палитру.

ответ

6

cycler необходимо присвоить значение итерации 'colors'.

Вот путь вы можете создать один:

[plt.get_cmap('jet')(1. * i/n) for i in range(n)] 

Так из исходного примера:

plt.rc('axes', prop_cycle=(cycler('color', ['r', 'g', 'b', 'y']) + 
          cycler('linestyle', ['-', '--', ':', '-.']))) 

x = [1,2,3,4] 
for i in range(4): 
    plt.plot([_ + i for _ in x]) 

enter image description here

Для модифицированного списка из 'реактивной' палитры:

n = 4 # Number of colors 
new_colors = [plt.get_cmap('jet')(1. * i/n) for i in range(n)] 

plt.rc('axes', 
     prop_cycle=(cycler('color', new_colors) + 
        cycler('linestyle', ['-', '--', ':', '-.']))) 

for i in range(4): 
    plt.plot([_ + i for _ in x]) 

enter image description here

+0

В вашем модифицированном примере кода отсутствует определение списка 'x'. – cbrnr

Смежные вопросы