自定义离散色图
如果你有预定义范围并希望对这些范围使用特定颜色,则可以声明自定义色彩映射。例如:
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.colors
x = np.linspace(-2,2,500)
y = np.linspace(-2,2,500)
XX, YY = np.meshgrid(x, y)
Z = np.sin(XX) * np.cos(YY)
cmap = colors.ListedColormap(['red', '#000000','#444444', '#666666', '#ffffff', 'blue', 'orange'])
boundaries = [-1, -0.9, -0.6, -0.3, 0, 0.3, 0.6, 1]
norm = colors.BoundaryNorm(boundaries, cmap.N, clip=True)
plt.pcolormesh(x,y,Z, cmap=cmap, norm=norm)
plt.colorbar()
plt.show()
产生
颜色 i 将用于边界 i 和 i + 1 之间的值。颜色可以通过名称('red'
,'green'
),HTML 代码('#ffaa44'
,'#441188'
)或 RGB 元组((0.2, 0.9, 0.45)
)指定。