Python 颜色 Table Python 兵马俑的生成

Python Color Table Generation for Python Terracotta

我正在尝试为 Terracotta 创建一种颜色 table,如下所述:https://terracotta-python.readthedocs.io/en/latest/tutorials/custom-colormaps.html

我的目标是创建类似于以下色带的颜色图:

颜色通过十六进制代码提供:

我希望有人可以建议将其转换为与 Terracotta 兼容的颜色图的最佳方法。在这一点上,我不确定使用停止色创建地图的最佳方法,Terracotta 团队提供的唯一示例是创建灰度颜色地图。

>>> import numpy as np
>>> cmap_data = np.stack((
...     np.arange(0, 255, dtype='uint8'),
...     np.arange(0, 255, dtype='uint8'),
...     np.arange(0, 255, dtype='uint8'),
...     np.full(255, 255, dtype='uint8')
... ), axis=1)
>>> np.save('mycmap_rgba.npy', cmap_data)

对于任何想知道如何解决这个问题的人,您可以使用 matplotlib 的颜色图为您生成颜色值数组。

import matplotlib
import numpy as np

colorsList = ['#FFFFFF','#B4FFB9','#00F42F','#05B118','#007000','#FFEC00','#F08500','#E40000','#680006','#141414','#A7A7A7','#FAFAFA']

CustomCmap = matplotlib.colors.LinearSegmentedColormap.from_list('mycmap',colorsList)

x = np.linspace(0, 1, 255)
cmap_vals = CustomCmap(x)
cmap_uint8 = (cmap_vals * 255).astype('uint8')

np.save('mycmap_rgba.npy', cmap_uint8)

matplotlib 颜色表的文档可用here