我正在 matplotlib 中寻找以下颜色图,我在一篇论文中看到了它:
起初我以为是 CMRmap
颜色图的一部分。
cmap = plt.get_cmap('CMRmap')
new_cmap = truncate_colormap(cmap, 0.0, 0.75) #(https://stackoverflow.com/a/18926541/7559986)
然而,当我提取它的一个子集时出现了以下内容,看起来有点不同(尤其是黄色):
有谁知道我如何到达上面的颜色图?
最佳答案
您显示的颜色图看起来只是黑色、蓝色、红色和黄色之间的插值。这将通过创建
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()
进一步阅读
关于python - 搜索与 CMRmap 相似的颜色图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58267298/