I want to show the matrix in a color plot and give specific colors to two or more special meanings.
import numpy as np from pylab import * np.random.seed(10) a=np.random.randint(-1,10, size=(5, 5)) print a fig, ax = plt.subplots() mat=ax.matshow(a, cmap=cm.jet, vmin=1, vmax=10) colorbar(mat) show()
Here are the values โโof the matrix a
:
[[ 8 3 -1 0 8] [-1 0 9 7 8] [-1 9 7 5 3] [ 2 -1 3 5 7] [ 9 0 7 3 0]]
Here is the plot: 
I would like to assign a black color for all -1 entries and white for all 0 entries, and I would like it to appear in the color bar below number one as two discrete colors. Here is an example, my photo editing skills are bad, but it should be clear what I want (the color scale should be to scale):
It is not important for me to have a continuous color map of the jet
, I would be pleased with the decision in which my color bar would be discrete and consist, for example, of 10 colors, of which two would be black and white, 8 from the colors of the color map of jet
. However, it is important that -1 and 0 have different colors, regardless of what the full range of values โโis.
For example, if the range of values โโwas from -1 to 1000:

source share