2014-12-02 119 views
0

我有一個2d numpy數組,通過讀取圖像獲得。數組的唯一值是0,1和2.我想分別爲值0,1和2繪製顯示唯一顏色紅色,綠色和藍色的圖像。顯示唯一顏色的唯一值

plt.imshow(data, cmap=colors.ListedColormap(['red']) 

你會怎麼做?

回答

3
from matplotlib.colors import from_levels_and_colors 
cmap, norm = from_levels_and_colors([0,1,2,3],['red','green','blue']) 
plt.imshow(data, cmap=cmap, norm=norm) 
+0

謝謝,你能爲我解釋爲什麼會給出額外的3嗎? – Borys 2014-12-02 12:16:10

+1

它需要n + 1個n顏色的值,例如0到1將被分配紅色,2到3將被分配藍色,它們是包圍間隔 – 2014-12-02 13:07:10