Если вы перейдете по этой странице: http://bids.github.io/colormap/, вы найдете все детали, необходимые для производства Viridis, Magma, Inferno и Plasma. Все детали слишком длинные, чтобы перечислить их в качестве ответа, но, используя вышеупомянутую страницу и viscm , вы можете восстановить их и некоторые другие в интерактивном режиме.
В качестве альтернативы и с использованием Цвет :
import colour
import numpy as np
CAM16UCS = colour.convert(['#ff0000', '#00ff00'], 'Hexadecimal', 'CAM16UCS')
gradient = colour.utilities.lerp(
CAM16UCS[0][np.newaxis],
CAM16UCS[1][np.newaxis],
np.linspace(0, 1, 20)[..., np.newaxis])
RGB = colour.convert(gradient, 'CAM16UCS', 'Output-Referred RGB')
colour.plotting.plot_multi_colour_swatches(
[colour.plotting.ColourSwatch(RGB=np.clip(x, 0, 1)) for x in RGB])
print(colour.convert(RGB, 'Output-Referred RGB', 'Hexadecimal'))
['#fe0000' '#fb3209' '#f74811' '#f35918' '#ef671e' '#ea7423' '#e67f28'
'#e18a2c' '#dc9430' '#d79e34' '#d1a738' '#cbb03b' '#c4b93d' '#bcc23e'
'#b2cc3d' '#a6d53a' '#97df36' '#82e92e' '#62f321' '#00ff00']
Обратите внимание, что два граничных цвета даны в виде шестнадцатеричных значений, но вы, очевидно, можете выбрать любое соответствующее цветовое пространство. Аналогичным образом, CAM16 можно заменить на JzAzBz или аналогичное.
Вы можете попробовать это в Интернете с помощью этого ноутбука Google Colab .