В настоящее время у меня есть большой набор цветовых карт, которые я использовал на других языках, которые я хотел бы импортировать в python для использования в matplotlib. Я могу преобразовать ASCII-файл из трех столбцов в массив RGB, а затем в цветовую карту следующим образом:
def from_ascii(filename, name):
palette = open(filename)
lines = palette.readlines()
carray = np.zeros([len(lines), 3])
for num, line in enumerate(lines):
carray[num, :] = [float(val) for val in line.strip().split()]
cmap = colors.ListedColormap(carray, name=name)
Затем я могу зарегистрировать эту цветовую карту:
cm.register_cmap(name=name, cmap=cmap)
так что:
In [4]: cm.get_cmap('my_cmap')
Out[4]: <matplotlib.colors.ListedColormap instance at 0x1b114c68>
Проблема в том, что cm.get_cmap()
может получить мою собственную цветовую карту, только если я в той же программе. Как только я пытаюсь вызвать свою собственную цветовую карту из отдельного сценария, cm.get_cmap()
возвращает None.
Я уверен, что что-то неправильно понимаю ...