matplotlib colormap without normalization
Create a list of colors, say colors = ['blue', 'red', 'green', 'purple'], that has as many colors as you have different targets. Then, set c=colors[target] with target being the integer your model popped out. This means you will need to plot each point one at a time unless you sort all the targets and plot at the end.
I am creating scatterplots of data with integer targets.  Naturally, I represent the targets as color in the scatterplot.  However, sometimes my models, because of the nature of the model, predict targets that are not in the original set.  I.e., my training targets are chosen from [0,1,2], and my model occasionally predicts 3, because it is not very bright.
The problem is that when I scatterplot my data, and then separately scatterplot the predictions, the target 2 gets mapped to a different color in each scatter, which makes for a bad picture.  This is because matplotlib by default scales the values in my color list to be between some given values.  I would like to override this default behavior, and have my color list (which are integers), always map to the same color, e.g. 1 maps to green, regardless of how many different classes are in my c=targets parameter.