Похоже, colorlover
на самом деле библиотека Python. Он выполняет преобразование строк, и вам не нужно создавать отдельную логику для этого.
Вот ссылка на документацию , а также ссылка, показывающая примеры строк , используемых для генерации цветовых шкал.
UPDATE
Если вы хотите определить свои собственные цвета, эта может быть хорошей отправной точкой. Другие могут иметь больше опыта в этом.
ОБНОВЛЕНИЕ 2
Если вам нужно сгенерировать много цветов, проверьте ссылку , которая проведет вас через настройку цветовых шкал для ваших переменных в Python и Plotly. Хорошей отправной точкой может быть цветовая шкала для графиков рассеяния .
Мне удалось создать большой список значений rgb, используя следующий код:
import colorlover as cl
import pprint
pprint.pprint(cl.scales["3"])
Это привело к следующему списку, из которого вы можете выбрать значения rgb, которые вы хотите использовать:
{'div': {'BrBG': ['rgb(216,179,101)', 'rgb(245,245,245)', 'rgb(90,180,172)'],
'PRGn': ['rgb(175,141,195)', 'rgb(247,247,247)', 'rgb(127,191,123)'],
'PiYG': ['rgb(233,163,201)', 'rgb(247,247,247)', 'rgb(161,215,106)'],
'PuOr': ['rgb(241,163,64)', 'rgb(247,247,247)', 'rgb(153,142,195)'],
'RdBu': ['rgb(239,138,98)', 'rgb(247,247,247)', 'rgb(103,169,207)'],
'RdGy': ['rgb(239,138,98)', 'rgb(255,255,255)', 'rgb(153,153,153)'],
'RdYlBu': ['rgb(252,141,89)', 'rgb(255,255,191)', 'rgb(145,191,219)'],
'RdYlGn': ['rgb(252,141,89)', 'rgb(255,255,191)', 'rgb(145,207,96)'],
'Spectral': ['rgb(252,141,89)',
'rgb(255,255,191)',
'rgb(153,213,148)']},
'qual': {'Accent': ['rgb(127,201,127)',
'rgb(190,174,212)',
'rgb(253,192,134)'],
'Dark2': ['rgb(27,158,119)', 'rgb(217,95,2)', 'rgb(117,112,179)'],
'Paired': ['rgb(166,206,227)', 'rgb(31,120,180)', 'rgb(178,223,138)'],
'Pastel1': ['rgb(251,180,174)',
'rgb(179,205,227)',
'rgb(204,235,197)'],
'Pastel2': ['rgb(179,226,205)',
'rgb(253,205,172)',
'rgb(203,213,232)'],
'Set1': ['rgb(228,26,28)', 'rgb(55,126,184)', 'rgb(77,175,74)'],
'Set2': ['rgb(102,194,165)', 'rgb(252,141,98)', 'rgb(141,160,203)'],
'Set3': ['rgb(141,211,199)', 'rgb(255,255,179)', 'rgb(190,186,218)']},
'seq': {'Blues': ['rgb(222,235,247)', 'rgb(158,202,225)', 'rgb(49,130,189)'],
'BuGn': ['rgb(229,245,249)', 'rgb(153,216,201)', 'rgb(44,162,95)'],
'BuPu': ['rgb(224,236,244)', 'rgb(158,188,218)', 'rgb(136,86,167)'],
'GnBu': ['rgb(224,243,219)', 'rgb(168,221,181)', 'rgb(67,162,202)'],
'Greens': ['rgb(229,245,224)', 'rgb(161,217,155)', 'rgb(49,163,84)'],
'Greys': ['rgb(240,240,240)', 'rgb(189,189,189)', 'rgb(99,99,99)'],
'OrRd': ['rgb(254,232,200)', 'rgb(253,187,132)', 'rgb(227,74,51)'],
'Oranges': ['rgb(254,230,206)', 'rgb(253,174,107)', 'rgb(230,85,13)'],
'PuBu': ['rgb(236,231,242)', 'rgb(166,189,219)', 'rgb(43,140,190)'],
'PuBuGn': ['rgb(236,226,240)', 'rgb(166,189,219)', 'rgb(28,144,153)'],
'PuRd': ['rgb(231,225,239)', 'rgb(201,148,199)', 'rgb(221,28,119)'],
'Purples': ['rgb(239,237,245)',
'rgb(188,189,220)',
'rgb(117,107,177)'],
'RdPu': ['rgb(253,224,221)', 'rgb(250,159,181)', 'rgb(197,27,138)'],
'Reds': ['rgb(254,224,210)', 'rgb(252,146,114)', 'rgb(222,45,38)'],
'YlGn': ['rgb(247,252,185)', 'rgb(173,221,142)', 'rgb(49,163,84)'],
'YlGnBu': ['rgb(237,248,177)', 'rgb(127,205,187)', 'rgb(44,127,184)'],
'YlOrBr': ['rgb(255,247,188)', 'rgb(254,196,79)', 'rgb(217,95,14)'],
'YlOrRd': ['rgb(255,237,160)', 'rgb(254,178,76)', 'rgb(240,59,32)']}}
Если вы просто хотите генерировать цвета в спектре RdYlBu
, используйте следующий код:
print(cl.scales["11"]["div"]["RdYlBu"])
это дает:
['rgb(165,0,38)',
'rgb(215,48,39)',
'rgb(244,109,67)',
'rgb(253,174,97)',
'rgb(254,224,144)',
'rgb(255,255,191)',
'rgb(224,243,248)',
'rgb(171,217,233)',
'rgb(116,173,209)',
'rgb(69,117,180)',
'rgb(49,54,149)']
Единственная проблема, которую я обнаружил, состояла в том, что наибольшее число, которое я мог использовать, было 11, и получило сообщение об ошибке для любого значения выше этого. Я предполагаю, что это весь спектр цветов для RdYlBu
.
Удачи в вашем проекте.