It looks like MPL is inconsistent in color cycling. I would expect scatter() to cycle the current color as plot() does.