按名称调用自定义颜色图

问题描述 投票:0回答:1

我在

matplotlib
中看过很多关于创建自定义颜色图的帖子,但是我找不到是否可以按名称调用此类自定义颜色图(我想这首先需要某种方式将自定义颜色图添加到列表中可查找/内置颜色图)。

举个例子,我想做这样的事情:

plt.scatter(..., cmap='my_cmap')

我知道我可以直接在那里传递颜色图,但是如果我经常想使用这个颜色图并且希望避免在将它作为

cmap
参数传递之前检索/定义它怎么办?

python matplotlib colormap
1个回答
1
投票

根据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
z = np.random.randint(0, 3, 100)

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

plt.colorbar()

输出:

display(cmap)

plt.show();

© www.soinside.com 2019 - 2024. All rights reserved.