自定義離散色圖

如果你有預定義範圍並希望對這些範圍使用特定顏色,則可以宣告自定義色彩對映。例如:

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()

產生

StackOverflow 文件

顏色 i 將用於邊界 ii + 1 之間的值。顏色可以通過名稱('red''green'),HTML 程式碼('#ffaa44''#441188')或 RGB 元組((0.2, 0.9, 0.45))指定。