2016-06-30 3 views
0

У меня есть словарь питона я использую, чтобы получить гистограмму:Pylab - Изменение historgram цветов на основе RGB оси

colors = {(97, 103, 105): 638059, (129, 140, 143): 562526, (55, 58, 62): 431610, (189, 193, 193): 460605} 

import pylab as pl 
import numpy as np 
dict_index = np.arange(len(colors)) 
pl.bar(dict_index, colors.values(), align='center', width=0.5) 
pl.xticks(dict_index, colors.keys()) 
ymax = max(colors.values()) + 1 
pl.ylim(0, ymax) 
pl.show() 

Ключи представляют собой RGB цветовые коды и мои значения количества пикселей.

Я пытаюсь получить гистограмму (или treemap, но это будет лишним), где каждый бар принимает цвет RGB, который он представляет.

Как бы я это сделал?

Спасибо,

ответ

1

Пробуйте параметр цвета в pl.bar. Цвета должны быть нормированы на 0-1.

colors = {(97, 103, 105): 638059, (129, 140, 143): 562526, (55, 58, 62): 431610, (189, 193, 193): 460605} 
normalizedcolors = [[i/256 for i in j] for j in colors.keys()] 

import pylab as pl 
import numpy as np 
dict_index = np.arange(len(colors)) 
pl.bar(dict_index, colors.values(), align='center', width=0.5, color = normalizedcolors) 
pl.xticks(dict_index, colors.keys()) 
ymax = max(colors.values()) + 1 
pl.ylim(0, ymax) 
pl.show() 
Смежные вопросы