The "cmap" keyword given to spy.imshow should be passed on to matplotlib's imshow function but is not. It appears that when a monochrome image (or single band) is given to spy.imshow, a single band from the generated RGB array should be selected here.