cmap 和颜色列表之间的区别

max*_*max 3 python matplotlib python-3.x

颜色图(根据contour许多其他绘图函数的要求)和简单的颜色列表有什么区别?如何将颜色列表(每种颜色应该代表相同大小的步骤)转换为颜色图?

arm*_*ita 5

颜色图是一系列代表数量概念的颜色。典型的颜色图(例如 jet)为低值标记提供蓝色,为高值标记提供红色。因此,您可以使用颜色图为您的图片添加另一个维度。对于 matplotlib,如果你给一个颜色所有的标记都会有那个颜色(所以它基本上是一个美学特征)。如果您提供颜色图以及第三个变量,则该变量将绘制为颜色而不是轴空间。

在等高线的情况下,每种颜色可能代表更高或更低的高度(例如)。

您可以使用以下方法设置自己的离散颜色图:

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

def plot_matrix(rm, title='Robot World', cmap=plt.cm.Blues):
    plt.imshow(rm, interpolation='nearest', cmap=cmap)
    plt.title(title)
    plt.tight_layout()
    plt.show()

cmap = colors.ListedColormap(['k','b','y','g','r'])
bounds=[0,1,2,3,4]
norm = colors.BoundaryNorm(bounds, cmap.N)

rm = np.random.randint(0,4,(5,5))
plot_matrix(rm,cmap=cmap)
Run Code Online (Sandbox Code Playgroud)

我从我在另一个问题中给出的类似答案中带来了这个食谱,你可以在这里看到。