I'm trying to make my own colourmap in matplotlib but I can't seem to get it to work correctly, the colours it is outputting are not the ones I was expecting I've tried the other similar question's answers but to no avail, I can't seem to set my cdict tuples right.
I have a graph that has intensity going from 0 to 1. I want the zero intensity to have an RBG of (0,99,136), 0.5 intensity to have (159,161,97) and the 1 intensity to have (170,43,74)
This is what I am currently trying but I thing I have misunderstood how to use it.
from matplotlib.colors import LinearSegmentedColormap
cdict1 = {'blue': ((0.0, 0.0, 0.0),
(0.5, 159/255, 159/255),
(1.0, 170/255, 170/255)),
'green': ((0.0, 99/255, 99/255),
(0.5, 161/255, 161/255),
(1.0, 43/255, 43/255)),
'red': ((0.0, 136/255, 136/255),
(0.5, 97/255, 97/255),
(1.0, 74/255, 74/255))
}
cm = LinearSegmentedColormap('cm', cdict1)
I'm implementing it in as so
plt.subplot(1, 2, 1)
matplotlib.rcParams.update({'font.size': 24})
plt.imshow(abs(store(0))**2, interpolation='none', extent=[-MaxMin, MaxMin, 0, N*dt], aspect=7, cmap=cm, vmin=0, vmax=1)
plt.xlabel(r'$x$')
plt.ylabel(r'$t$')
'cbar = plt.colorbar()'
plt.subplot(1, 2, 2)
plt.imshow(abs(store(4*x*x))**2, interpolation='none', extent=[-MaxMin, MaxMin, 0, N*dt], aspect=8, cmap=cm, vmin=0, vmax=1)
plt.xlabel(r'$x$')
plt.ylabel(r'$t$')
cbar = plt.colorbar()
cbar.set_label(r'$|\psi(x,t)|^{2}$', fontsize=24)
plt.show()
This is the output I currently get
Colourmap I get currently
And this is what I want to achieve Colourmap I want