2
我正在嘗試創建一個自定義顏色貼圖,該貼圖組合了插值和離散化的顏色段。我希望matplotlib的LinearSegmentedColormap可以提供這樣的功能。我的測試用例是創建一個10x10矩陣,其中第0行用0填充,第1行用1等等。然後我嘗試創建一個從黑到藍插值的顏色貼圖,然後離散地切成紅色,然後從紅色變白。從藍色到紅色的預期離散過渡不是離散的,而是演示一個意想不到的插值。使用LinearSegmentedColormap時的意外插值
import matplotlib.pyplot as plt
import matplotlib as m
import numpy as np
mat = np.ndarray((10,10))
for i in xrange(10):
mat[i] = i
colors = ['black', 'blue', 'red', 'white']
index = [0.0, 0.5, 0.5, 1.0]
indx_clr = zip(index, colors)
cm = m.colors.LinearSegmentedColormap.from_list('blue_red', indx_clr, 256)
plt.imshow(mat, cmap=cm)
plt.show()
感謝亞軍,意外插值如下所示。
我有2個問題。
- 爲什麼藍色區域插入紅色區域?
- 如何創建組合離散和插值色段的色圖?