Я решил преобразовать в HSV, установив насыщение равным 0 и снова преобразовав обратно в rgb:
# http://mkweb.bcgsc.ca/colorblind
rgbs = [(213/255, 94/255, 0/255), (86/255, 180/255, 233/255), (.9, .9, .9)]
cblind = [mpl.colors.to_hex(r) for r in rgbs]
cblind_gray = [mpl.colors.to_hex(
mpl.colors.hsv_to_rgb(mpl.colors.rgb_to_hsv(r) * (1,0,1)))
for r in rgbs]
pal = sns.color_palette(cblind)
sns.palplot(pal)
pal = sns.color_palette(cblind_gray)
sns.palplot(pal)
Это правильный способ сделать это?
Обновление
Видимо, это не работает (второй цвет отличается, когда помещен в оттенки серого - я проверил с помощью Цвет Oracle ).Знаете ли вы, что было бы причиной этого и как это исправить?