|
From: Paul H. <pmh...@gm...> - 2012-11-10 15:41:09
|
On Sat, Nov 10, 2012 at 7:07 AM, Chao YUE <cha...@gm...> wrote: > > Dear all, > > Is there a way to reverse the colorbar label, the default is small value at the bottom and big value at the top, yet I would like the big value at the bottom and small value at the top. > > all code in pylab mode. > > import numpy as np > import matplotlib as mat > > a = np.arange(100).reshape(10,10) > contourf(a,levels=np.arange(0,101,10)) > colorbar() > > in the above figure, colorbar label shows 0 at the bottom and 100 at the top. > Yet I want the 0 at the top and the 100 at the bottom, with the same sequence of colors in the colorbar. > > One way is to reverse the cmap, and then reverse the colorbar labels at the same time: > a = np.arange(100).reshape(10,10) > contourf(a,levels=np.arange(0,101,10),cmap=mat.cm.jet_r) > cbar = colorbar() > cbar.set_ticks(np.arange(0,101,10)) > cbar.set_ticklabels(np.arange(100,-1,-10)) Chao, I think it's as simple as: import numpy as np import matplotlib.pyplot as plt a = np.arange(100).reshape(10,10) fig, ax1 = plt.subplots() CS = ax1.contourf(a,levels=np.arange(0,101,10)) cbar = plt.colorbar(CS) cbar.ax.invert_yaxis() Does that produce the desired results? -p |