[ncl-talk] panel plot with 2 color bars for each plot ( and common color bars)

Ioana Colfescu ioana.colfescu at ed.ac.uk
Fri Nov 6 10:43:26 MST 2015


Hi Adam and thanks very much ! I made the changes you suggested and it 
works.
However, I still have a question :
I get the plot as the one attached and so the vertical color bar doesn't 
have all the colors I try to specify. Is there anything else I should do 
to get all colors ?
My code is ( as you wrote it) the addition at the end of mine of:

  gsn_panel(wks,plot,(/6,2/),resP)
   lbres                      = True
   lbres at lbPerimOn            = False               ; no label bar box
   lbres at lbOrientation        = "Vertical"        ; orientation
   lbres at vpWidthF             = 0.03                 ; size
   lbres at vpHeightF            = 0.3
   lbres at lbLabelFontHeightF   =  resP at lbLabelFontHeight
   lbres at lbLabelAlignment     = "InteriorEdges"     ; where to label
   lbres at lbMonoFillPattern    = True                ; fill sold
   lbres at lbFillColors         = cmap_r
   gsn_labelbar_ndc(wks,26,fspan(-.005,.005,26),0.85,0.65,lbres)
   frame(wks)

Ioana





On 06/11/15 16:56, Adam Phillips wrote:
> Hi Ioana,
> One thing that I see is that I think you meant to say 
> res at lbLabelBar*On*, and not res at lbLabelBar. (Same for 
> tres at lbLabelBar.) I also see that you are setting 
> dres at cnLevelSelectionMode  = "ManualLevels" but you are not setting 
> the cnMinLevelValF/cnMaxLevelValF/cnLevelSpacingF resources as you are 
> for the tres resource list. I believe this will result in NCL choosing 
> the contour levels for your plots created with the dres resource list, 
> and thus they are likely not the same for every plot.
>
> I think the solution is to not draw the individual labelbars (by 
> setting  res at lbLabelBarOn = False), draw the first labelbar by leabing 
> resP at gsnPanelLabelBar = True, and then drawing the 2nd labelbar 
> manually by calling gsn_labelbar_ndc. (Alternatively you can call 
> gsn_create_labelbar, but in this case I think it would be easier to 
> use gsn_labelbar_ndc.)
>
> For various label bar examples, see:
> http://www.ncl.ucar.edu/Applications/labelbar.shtml
>
> In the coding below I will assume that your dres resource list will 
> have the contours defined like this:
> dres at cnMinLevelValF       = -0.03                ; set min contour level
> dres at cnMaxLevelValF       =  0.03               ; set max contour level
> dres at cnLevelSpacingF      =  0.005
>
> I think all you need to do is to add the call to gsn_labelbar_ndc at 
> the end of your script:
> resP at gsnFrame = False   ; do not advance the frame with the gsn_panel call
> gsn_panel(wks,plot,(/6,2/),resP)
> lbres  = True
> lbres at lbPerimOn  = False               ; no label bar box
> lbres at lbOrientation  = "Vertical"        ; orientation
> lbres at vpWidthF = 0.06                 ; size
> lbres at vpHeightF  = 0.6
> lbres at lbLabelFontHeightF = resP at lbLabelFontHeight
> lbres at lbLabelAlignment = "InteriorEdges"     ; where to label
> lbres at lbMonoFillPattern  = True                ; fill sold
> lbres at lbFillColors = cmap_r
> gsn_labelbar_ndc (wks,14,fspan(-.03,.03,13),0.85,0.5,lbres)
> frame(wks)
> kk=kk+2
>   ll=ll+2
>   end do
>   end
>
> The only possible issue I see with the above is that I set:
> lbres at lbFillColors         = cmap_r
>
> I am not sure if you are setting the exact number of colors that NCL 
> is using for the plots, or if NCL is spanning cmap_r. If it is the 
> latter case, I would set dres at cnFillColors manually:
> dres at cnFillColors = cmap_r(0::3,:)     ; 0::3 is a guess to span the 
> colormap
> and then you can set
> lbres at lbFillColors = dres at cnFillColors
>
> Hope that at least gets you on the right track. If you have any 
> further questions please respond to the ncl-talk email list.
> Adam
>
>
>
>
>
>
>
>
>
> On Fri, Nov 6, 2015 at 6:53 AM, Ioana Colfescu 
> <ioana.colfescu at ed.ac.uk <mailto:ioana.colfescu at ed.ac.uk>> wrote:
>
>     Hi,
>     I'm trying to do a panel plot in which I want to use 2 different
>     color bars in each plot in the panel.
>     I do get the plots but I have a problem with the color bars: I'd
>     like to deactivate the individual color bars ( for each plot) and
>     have the color bars as panel plot color bars - i.e one horizontal
>     ( like in the plot ) and one vertical ( the second one which
>     doesn't show up) but what I get is the result attached.
>
>     Could someone please tell me what should I change in my script to
>     make:
>     - the individual color bars disappear for each plot
>     -  the second panel plot color bar appear to the left ( the
>     vertical bar)
>     I tried to set both the individual or panel resources for plotting
>     the bar to False/True but doesn't work.
>     I attached the plot and the code. Thanks.
>     Ioana
>
>     Relevant code part:
>
>
>       plot = new(12,graphic)
>       res                       = True
>       res at gsnDraw               = False    ; turn off draw
>       res at gsnFrame              = False    ; turn off frame
>      ............................
>     *  res at lbLabelBar    = False*
>       tres                       = res
>       dres                       = res
>       tres at cnFillPalette         = "BlWhRe"
>     *tres at lbLabelBar    = False*
>       tres at lbOrientation         = "horizontal"
>       tres at mpFillOn              = False               ; turn off map fill
>       tres at cnLevelSelectionMode  = "ManualLevels"
>       tres at cnMinLevelValF       = -0.03                ; set min
>     contour level
>       tres at cnMaxLevelValF       =  0.03               ; set max
>     contour level
>       tres at cnLevelSpacingF      =  0.005
>     *cmap_r              = read_colormap_file("NCV_manga")**
>     **  dres at cnFillPalette  = cmap_r*
>     *d**res at lbLabelBar    = False*
>       dres at cnLevelSelectionMode  = "ManualLevels"
>       dres at mpShapeMode  = "FreeAspect"
>       kk=0
>       ll=1
>       do ii=0,5
>       plot(kk) = gsn_csm_contour_map(wks,cont1(ii,:,:),tres)
>       newvar=new((/dimsizes(cont1)/),typeof(cont1))
>       newvar(ii,:,:)=agcms1 at _FillValue
>       newvar(ii,{-25:25},:)=cont1(ii,{-25:25},:)
>       ter_plot = gsn_csm_contour(wks,newvar(ii,:,:)*100,dres)
>       overlay(plot(kk),ter_plot)
>       plot(ll) = gsn_csm_contour_map(wks,aagcm1(ii,:,:),tres)
>       newvar2=new((/dimsizes(aagcm1)/),typeof(aagcm1))
>       newvar2(ii,:,:)=aagcm1 at _FillValue
>       newvar2(ii,{-25:25},:)=aagcm1(ii,{-25:25},:)
>       ter_plot2 = gsn_csm_contour(wks,newvar2(ii,:,:)*100,dres)
>       overlay(plot(ll),ter_plot2)
>       resP=True
>       resP at gsnMaximize         = True         ; large format
>     *  resP at gsnPanelLabelBar    = True *        ; add common colorbar
>       resP at lbLabelAutoStride   = True         ; auto stride on labels
>       resP at lbLabelFontHeight  = 0.015
>       resP at lbOrientation =   "horizontal"
>     ;  draw(plot)
>     ;  frame(wks)
>       gsn_panel(wks,plot,(/6,2/),resP)
>       kk=kk+2
>       ll=ll+2
>       end do
>       end
>
>
>     The University of Edinburgh is a charitable body, registered in
>     Scotland, with registration number SC005336.
>
>     _______________________________________________
>     ncl-talk mailing list
>     ncl-talk at ucar.edu <mailto:ncl-talk at ucar.edu>
>     List instructions, subscriber options, unsubscribe:
>     http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
>
>
>
> -- 
> Adam Phillips
> Associate Scientist, Climate and Global Dynamics Laboratory, NCAR
> www.cgd.ucar.edu/staff/asphilli/ 
> <http://www.cgd.ucar.edu/staff/asphilli/> 303-497-1726
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20151106/2637f5f1/attachment-0001.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: eofs_global1_ps_-89S-89N-0-360.ps
Type: application/postscript
Size: 2838313 bytes
Desc: not available
Url : http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20151106/2637f5f1/attachment-0001.ps 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: not available
Url: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20151106/2637f5f1/attachment-0001.pl 


More information about the ncl-talk mailing list