I would like create a pseudocolor plot (e.g. contour
or contourf
) and a colorbar. For practical reason, I want the range of the colorbar different from the underlying mappable.
In the example below, the data Z has a range from 0 to 10000, which is mapped to a colormap. The range of the colorbar is the same.
import numpy
from matplotlib import pyplot
X = numpy.arange(100)
Y = numpy.arange(100)
Z = numpy.arange(100**2).reshape((100,100))
f = pyplot.figure()
ax = f.gca()
cf = ax.contourf(X,Y,Z,100)
cbar = f.colorbar(cf, ticks=[3000,4000,5000,6000])
pyplot.show()
Now, I would like to "zoom in" on the colorbar, i.e. generate a colorbar with a range from 3000 to 6000 only. This new colorbar shall still serve as a legend and give proper colors for each tick (3000 = blue, 6000 = yellow). Neither cbar.set_clim()
nor cf.set_clim()
accomplish this.