Вы можете сделать это следующим образом:
from matplotlib import colors as c
color_map = {'a':1,'b':2,'c':3, 'd':4}
cMap = c.ListedColormap(['g','b','y','r'])
df = df.replace(color_map)
fig, ax = plt.subplots()
ax.pcolor(df,cmap=cMap)
plt.show()

И если вы хотите удалить ticks
, добавьте plt.xticks([])
иplt.yticks([])