搜索与CMRmap相似的颜色映射表

4
我正在寻找在一篇论文中看到的以下Matplotlib colormap: enter image description here 一开始我以为它是`CMRmap`色图的一部分。
cmap = plt.get_cmap('CMRmap')
new_cmap = truncate_colormap(cmap, 0.0, 0.75) #(https://dev59.com/N2Mk5IYBdhLWcg3w2BTJ#18926541)

然而,当我从中提取了一个子集时,出现了以下情况,它看起来有些不同(尤其是黄色部分):

enter image description here

有人知道如何获取上面的颜色地图吗?

1个回答

6
你展示的配色方案看起来只是在黑、蓝、红和黄之间进行插值。这可以通过下列方法来创建:
matplotlib.colors.LinearSegmentedColormap.from_list("", ["black", "blue", "red", "yellow"])

然而,我不建议使用这种颜色映射。相反,使用任何一个 "viridis""magma""plasma""inferno"。它们是感知上均匀的,因此不会产生不必要的伪像。

下面是插值地图和 "magma" 之间的比较。你可以看到插值地图创建了“环”,这样观察者肯定会误解所绘制的形状。

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import colors as mcolors

x = np.linspace(-2,2, 101)
X,Y = np.meshgrid(x,x)
Z = np.exp(-X**2-Y**2)

fig, (ax1, ax2) = plt.subplots(ncols=2)

im1 = ax1.imshow(Z, cmap="magma")


cmap = mcolors.LinearSegmentedColormap.from_list("", ["black", "blue", "red", "yellow"])
im2 = ax2.imshow(Z, cmap=cmap)

fig.colorbar(im1, ax=ax1, orientation="horizontal")
fig.colorbar(im2, ax=ax2, orientation="horizontal")

plt.show()

enter image description here

更多阅读材料


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接