non-linear color scale: best approach?


The attached png (generated from GMT) (also visible here: )
shows a non-linear color scale which I am trying to replicate using
matplotlib. Could anyone point me in the right direction as to the best
approach to do this? I've seen posts where I can subclass the
colormap/normalize classes and customize them. I've also seen
James Boyle's script to load GMT colormaps into
matplotlib colormaps however I would like to achieve a general
solution to this. The following code is the generalized function
I use to generate maps:

def plotMap(pngFile,figsize,aspect,plotTitle,colorbarTitle,
     """Plot data on world map."""

                 vmax=dataMax,clip =False))

Any help is greatly appreciated.