Я сделал функцию для получения шестнадцатеричного кода, заданного для набора данных следующим образом:
from matplotlib import cm, colors
def get_color(series_data, cmap='Reds'):
color_map = cm.get_cmap(cmap, 20)
f = lambda x: colors.rgb2hex(color_map(x/series_data.max())[:3])
return series_data.apply(f)
* cm.get_cmap(cmap, 20)
генерирует объект matplotlib.colors.LinearSegmentedColormap, который ранжируется от минимального значения вход series_data
на максимум.
Я не вижу, как я могу определить пределы цвета для данных, которые будут оценены. Например, что если я хотел бы установить постоянные ограничения цвета, определяя как минимум значение 0 и максимум 100? Как я мог сделать это в моей функции?
Я пытался заменить series_data.max()
на 100
, чтобы контролировать максимальный эквивалентный цвет (max), но я не мог контролировать cmin.