Chao,

I'm glad you were able to get what you wanted.  

I don't know how to add anything to the gallery.

-Sterling

On Nov 17, 2012, at 3:32AM, Chao YUE wrote:

> Hi Sterling,
> 
> Thanks for the help. Now we have a complete script that works as what we want:
> 
> ****labels parallel with the colorbar with colorbar seperated ****
> 
> By the way, is it possible to put in the gallery?
> 
> 
> from pylab import *
> a = np.arange(100).reshape(10,10)
> cbarlevel=np.arange(0,101,10)
> cs=contourf(a,levels=cbarlevel)
> cbar = colorbar()
> cbar.set_ticks(cbarlevel)
> 
> #prepare the final label that we want
> cbar_label = []
> for i in range(len(cbarlevel)-1):
>     cbar_label.append(" {0}-{1}".format(cbarlevel[i],cbarlevel[i+1]))
> 
> cbar.set_ticklabels(['']*len(cbarlevel))  #remove the original labels
> #set ticks as white; the 'length' parameter is a bit dirty solution
> cbar.ax.tick_params(axis='y',left='on',length=10,color='w',width=5)
> cbar.outline.remove()  #remove the colorbar frame
> 
> #add the label parallel to colorbar; 0.035 to be set by manual observation, a 
> bit dirty solution.
> yloc=np.arange(0.035,0.95,0.1)
> for l,y in zip(cbar_label,yloc):
>     cbar.ax.text(1,y,l,transform=cbar.ax.transAxes,ha='left')
> 
> cheers,
> 
> Chao
> 
> On Sat, Nov 17, 2012 at 12:12 AM, Sterling Smith <smit...@fusion.gat.com> 
> wrote:
> Chao,
> 
> If you don't need the tick marks and are only annoyed by their appearance in 
> the colorbar, then I am pasting below our code so far setting the tick length 
> to 0.
> 
> Code so far:
> 
> from pylab import *
> fig = figure(2)
> fig.clear()
> a = np.arange(100).reshape(10,10)
> cbarlevel=np.arange(0,101,10)
> contourf(a,levels=cbarlevel)
> cbar = colorbar()
> cbar.set_ticks((cbarlevel[1:]+cbarlevel[:-1])/2.)
> 
> #to manipulate the range:
> cbar_label = []
> for i in range(len(cbarlevel)-1):
>    cbar_label.append("{0}-{1}".format(cbarlevel[i],cbarlevel[i+1]))
> 
> #Then to apply on the colorbar:
> cbar.set_ticklabels(cbar_label)
> 
> ax = fig.axes[-1] #This is not as clean as making the axes before the 
> colorbar and passing to the colorbar...
> ax.yaxis.set_tick_params(length=0)
> 
> 
> If you still want the ticks, then you might think of keeping the ticks where 
> you had set them originally, then placing texts (pylab.text) with the 
> transAxes transform, using the following script:
> 
> 
> from pylab import *
> fig = figure(2)
> fig.clear()
> a = np.arange(100).reshape(10,10)
> cbarlevel=np.arange(0,101,10)
> contourf(a,levels=cbarlevel)
> cbar = colorbar()
> #cbar.set_ticks((cbarlevel[1:]+cbarlevel[:-1])/2.)
> cbar.set_ticks(cbarlevel)
> 
> #to manipulate the range:
> cbar_label = []
> for i in range(len(cbarlevel)-1):
>    cbar_label.append("{0}-{1}".format(cbarlevel[i],cbarlevel[i+1]))
> #cbar_label.append('')
> 
> print cbar_label
> #['0-10', '10-20', '20-30', '30-40', '40-50', '50-60', '60-70', '70-80',
> #'80-90', '90-100', '']
> 
> #Then to apply on the colorbar:
> cbar.set_ticklabels(['']*len(cbarlevel))
> 
> ax = fig.axes[-1]
> #ax.yaxis.set_tick_params(length=0)
> 
> yloc = linspace(0,1,len(cbar_label)+1)
> yloc = yloc[:-1] + yloc[1]/2.
> for l,y in zip(cbar_label,yloc):
>         ax.text(1,y,l,transform=ax.transAxes,ha='left')
> draw()
> 
> -Sterling
> 
> On Nov 16, 2012, at 12:58PM, Chao YUE wrote:
> 
> > Thanks Sterling. It's a good idea.
> >
> > Unluckily, I lose the original ticks and the ticks appeared in the middle. 
> > Is there any approach I can keep the original ticks while realizing what 
> > has been shown in the figure?
> >
> > Chao
> >
> > On Fri, Nov 16, 2012 at 5:47 PM, Sterling Smith <smit...@fusion.gat.com> 
> > wrote:
> > Chao,
> >
> > The secret is positioning your ticks.  I list here an untested attempt at 
> > putting the labels at the average of the current and next levels:
> >
> > cbar.set_ticks((cbarlevel[1:]+cbarlevel[:-1])/2.)
> >
> > Because you have less ticks, then you will want to remove the line
> >
> > cbar_level.append('')
> >
> > Hope that helps,
> > Sterling
> >
> > On Nov 16, 2012, at 7:46AM, ChaoYue wrote:
> >
> > > I have a bit progress, but still not very well.
> > >
> > > #to have a contourf plot
> > > a = np.arange(100).reshape(10,10)
> > > cbarlevel=np.arange(0,101,10)
> > > contourf(a,levels=cbarlevel)
> > > cbar = colorbar()
> > > cbar.set_ticks(cbarlevel)
> > >
> > > #to manipulate the range:
> > > cbar_label = []
> > > for i in range(len(cbarlevel)-1):
> > >    cbar_label.append("{0}-{1}".format(cbarlevel[i],cbarlevel[i+1]))
> > > cbar_label.append('')
> > >
> > > In [54]: print cbar_label
> > > ['0-10', '10-20', '20-30', '30-40', '40-50', '50-60', '60-70', '70-80',
> > > '80-90', '90-100', '']
> > >
> > > #Then to apply on the colorbar:
> > > cbar.set_ticklabels(cbar_label)
> > >
> > > The generated figure is attached. But how can I put the labels a little 
> > > bit
> > > upward to make them parallel with the respective small rectangles in the
> > > colorbar? <http://matplotlib.1069221.n5.nabble.com/file/n39786/fig.jpg>
> > >
> > >
> > >
> > >
> > >
> > > --
> > > View this message in context: 
> > > http://matplotlib.1069221.n5.nabble.com/how-to-put-colorbar-label-beside-the-handle-tp39705p39786.html
> > > Sent from the matplotlib - users mailing list archive at Nabble.com.
> > >
> > > ------------------------------------------------------------------------------
> > > Monitor your physical, virtual and cloud infrastructure from a single
> > > web console. Get in-depth insight into apps, servers, databases, vmware,
> > > SAP, cloud infrastructure, etc. Download 30-day Free Trial.
> > > Pricing starts from $795 for 25 servers or applications!
> > > http://p.sf.net/sfu/zoho_dev2dev_nov
> > > _______________________________________________
> > > Matplotlib-users mailing list
> > > Matplotlib-users@lists.sourceforge.net
> > > https://lists.sourceforge.net/lists/listinfo/matplotlib-users
> >
> >
> >
> >
> > --
> > ***********************************************************************************
> > Chao YUE
> > Laboratoire des Sciences du Climat et de l'Environnement (LSCE-IPSL)
> > UMR 1572 CEA-CNRS-UVSQ
> > Batiment 712 - Pe 119
> > 91191 GIF Sur YVETTE Cedex
> > Tel: (33) 01 69 08 29 02; Fax:01.69.08.77.16
> > ************************************************************************************
> >
> > <fig.jpg>
> 
> 
> 
> 
> -- 
> ***********************************************************************************
> Chao YUE
> Laboratoire des Sciences du Climat et de l'Environnement (LSCE-IPSL)
> UMR 1572 CEA-CNRS-UVSQ
> Batiment 712 - Pe 119
> 91191 GIF Sur YVETTE Cedex
> Tel: (33) 01 69 08 29 02; Fax:01.69.08.77.16
> ************************************************************************************
> 


------------------------------------------------------------------------------
Monitor your physical, virtual and cloud infrastructure from a single
web console. Get in-depth insight into apps, servers, databases, vmware,
SAP, cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to