matplotlib 按名称调用自定义色彩Map表

oprakyz7  于 2023-05-01  发布在  其他
关注(0)|答案(1)|浏览(135)

我看过很多关于在matplotlib中创建自定义颜色Map的帖子,但是我不知道是否可以通过名称调用这样的自定义颜色Map(我猜这需要首先通过某种方法将自定义颜色Map添加到可查找/内置颜色Map列表中)。
作为一个例子,我想做一些类似的事情:plt.scatter(..., cmap='my_cmap')
我知道我可以直接将颜色Map传递到那里,但如果我经常想使用这个颜色Map,并且希望避免在将其作为cmap参数传递之前检索/定义它,该怎么办?

tvz2xvvm

tvz2xvvm1#

根据Matplotlib 3.7,您可以/需要使用register

import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np

cmap = mpl.colors.ListedColormap(["#fd635c", "#00b9a8", "#124191"])

mpl.colormaps.register(cmap, name="my_cmap")

np.random.seed(123456)
x = np.random.rand(100) * 3,
y = np.random.rand(100) * 3
c = np.random.randint(0, 3, 100)

plt.scatter(x=x, y=y, c=c, cmap="my_cmap")

plt.colorbar()

输出:

display(cmap)

plt.show();

相关问题