Matplotlib: ListedColormap não mapeando cores

Estou tendo problemas para entender por que um @ personalizacmap não está sendo mapeado corretamente para uma imagem usandoplt.imshow.

Quando plotar a matriz 2-Dresr sem especificar um cmap, vejo:

resr = np.array([[0,2],[3,4]],dtype=int)
plt.imshow(resr)

Isso parece certo. Quando tento passar um cmap de minhas cores especificadas usando:

cmap1 = ['#7fc97f', '#ffff99', '#386cb0', '#f0027f']
cmap = colors.ListedColormap(cmap1) 
plt.imshow(resr, cmap=cmap)

Eu vejo

Por alguma razão, a corcmap1[3] está sendo mapeado para oresr values3 e4. Por que isso está acontecendo

questionAnswers(2)

yourAnswerToTheQuestion