私は現在、matplotlibで使用するためにPythonにインポートしたい他の言語で使用していた大量のカラーマップを持っています。私はそのようにのようなカラーマップに、RGB配列に3列のASCIIファイルを変換することができる午前:matplotlibにカラーマップを永久に登録する
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を返します。
私はセッションの間に存在するカラーマップのために何か...
ああ、私は永久に登録する方法があったと想定していたと思いますそれを生成したコードを再度実行する必要はありません。ダーン、私がやっていることは物事を少し難しくしています。答えをありがとう。 – Vorticity