2014-12-02 83 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