[ncl-talk] legend colorfil problem
Adam Phillips
asphilli at ucar.edu
Mon Jun 12 12:07:38 MDT 2017
Hi Marston,
For the record I created simple_legend in response to a colleague getting
frustrated with NCL's existing legend creation capabilities. It is
definitely possible to use simple_legend with paneling.
Assuming you want to attach your legend to the 1st plot,
change this coding:
plot1 = simple_legend(wks,plot,gres,lineres,textres)
to this:
plot(1) = simple_legend(wks,plot(1),gres,lineres,textres)
and see if it works.
If it doesn't, let me know..
Adam
On Mon, Jun 12, 2017 at 11:58 AM, Marston Johnston <shejo284 at gmail.com>
wrote:
> Hi Adam,
>
>
>
> It appears as if your example works only with a simple, single plot. In my
> example:
>
>
>
> Begin
>
>
>
> snip
>
>
>
> plot = new(2,graphic)
>
>
>
> snip
>
>
>
> plot(2) = gsn_csm_xy(wks,zmas&lat,datace,res)
>
>
>
> gres = True
>
> gres at YPosPercent = 95.
>
> gres at XPosPercent = 5
>
> lineres = True
>
> lineres at lgLineColors = (/"blue","black","red","blue","black","red"/)
>
> lineres at lgLineThicknesses = 2.5
>
> lineres at LineLengthPercent = 9.0
>
> textres = True
>
> textres at lgLabels = (/"MCH1","MCH2","MCH3","OCH1","OCH2","OCH3"/)
>
> plot1 = simple_legend(wks,plot,gres,lineres,textres)
>
>
>
> resP = True
>
> resP at gsnMaximize = True
>
> resP at gsnPanelFigureStrings = str_upper((/"a","b","c"/))
>
> resP at gsnPanelFigureStringsFontHeightF = 0.01
>
> resP at amJust = "TopLeft"
>
> resP at gsnPanelBottom = 0.05
>
> gsn_panel(wks,plot,(/3,1/),resP)
>
> end
>
>
>
> results in an error:
>
>
>
> fatal:["Execute.c":8640]:Execute: Error occurred at or near line 4952 in
> file $NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl
>
>
>
> which is:
>
>
>
> begin
>
> getvalues xyplot
>
> "trYMinF" : ymin
>
> "trYMaxF" : ymax
>
> "trXMinF" : xmin
>
> "trXMaxF" : xmax ; line 4952
>
> end getvalues
>
>
>
> snip
>
> This requires some more digging but the author of the script should
> understand the problem a lot quicker. Perhaps there is a limitation on this
> simple_legend() function?
>
>
> Appreciate your thoughts on this,
>
> /M
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> Marston S. Johnston, PhD
>
> Department of Earth Sciences
>
> University of Gothenburg, Sweden
>
> Email: marston.johnston at gu.se
>
> SkypeID: marston.johnston
>
> Phone: +46-31-7864901 <+46%2031%20786%2049%2001>
>
> Only the fruitful thing is true!
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
>
>
>
>
> *From: *Adam Phillips <asphilli at ucar.edu>
> *Date: *Monday, 12 June 2017 at 18:16
> *To: *Marston Johnston <shejo284 at gmail.com>
> *Cc: *NCL Talk <ncl-talk at ucar.edu>
> *Subject: *Re: [ncl-talk] legend colorfil problem
>
>
>
> Hi Marston,
>
> simple_legend should be called before draw/frame are invoked. Thus, unless
> you are setting gsnDraw/gsnFrame = False in your panel resource list,
> simple_legend should be called before gsn_panel.
>
> Adam
>
>
>
> On Mon, Jun 12, 2017 at 10:13 AM, Marston Johnston <shejo284 at gmail.com>
> wrote:
>
> Hi Mary,
>
>
>
> Thanks for the response. I think I’ll try Adam’s example but I was
> wondering if I’m using a panel plot, do I do this after the
>
> Panel plot command?
>
>
>
> Best,
>
> /M
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> Marston S. Johnston, PhD
>
> Department of Earth Sciences
>
> University of Gothenburg, Sweden
>
> Email: marston.johnston at gu.se
>
> SkypeID: marston.johnston
>
> Phone: +46-31-7864901 <+46%2031%20786%2049%2001>
>
> Only the fruitful thing is true!
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
>
>
>
>
> *From: *Mary Haley <haley at ucar.edu>
> *Date: *Monday, 12 June 2017 at 16:53
> *To: *Marston Johnston <shejo284 at gmail.com>
> *Cc: *NCL Talk <ncl-talk at ucar.edu>
> *Subject: *Re: [ncl-talk] legend colorfil problem
>
>
>
> Hi Marston,
>
>
>
> There are two things you can try.
>
>
>
> One is to use the new simple_legend function that Adam Phillips added.
> See examples leg_16.ncl and leg_17.ncl at:
>
>
>
> http://www.ncl.ucar.edu/Applications/legend.shtml#ex16
>
>
>
> The second is I can give you a beta version of 6.5.0 that has the
> tmGridDrawOrder resource. This allows you to make the grid lines draw in
> an earlier phase than the legend. See example leg_18.ncl on the same page.
>
>
>
> --Mary
>
>
>
>
>
> On Sat, Jun 10, 2017 at 7:40 AM, Marston Johnston <shejo284 at gmail.com>
> wrote:
>
> Hi,
>
>
>
> I’m trying to get the legend on a xy plot to not show the gridlines by
> adding the following:
>
>
>
> lgres at lgPerimFillColor = "yellow"
>
> lgres at lgPerimFill = "SolidFill"
>
>
>
> I’m doing this inside gsn_legend_ndc because I want the legend on plot(3)
> only:
>
>
>
> lgres = True
>
> lgres at lgLineColors = (/"blue","black","red","blue","black","red"/)
>
> lgres at vpWidthF = 0.15 ; width of legend
> (NDC)
>
> lgres at vpHeightF = 0.1 ; height of legend
> (NDC)
>
> lgres at lgDashIndexes = (/0,0,0,2,2,2/) ; dash indexes
>
> lgres at LgLineThicknessF = 2.0
>
> lgres at lgPerimFillColor = "yellow"
>
> lgres at lgPerimFill = "SolidFill"
>
> gsn_legend_ndc(wks,6,(/"MCH1","MCH2","MCH3","OCH1","OCH2","
> OCH3"/),0.6,0.2,lgres)
>
>
>
> I can change the background color but the ”SolidFill” doesn’t seem to
> work. I’m calling gsn_legend_ndc before the
>
> gsn_panel. Is this an issue where the plot is being added after the
> legend? I’ve looked at the tmGridDrawOrder but this doesn’t seem to work
> for gridlines in a xy plot.
>
>
>
> I’m using NCL version 6.4. Here’s the entire plot sequence:
>
>
>
> res = True
>
> res at gsnDraw = False
>
> res at gsnFrame = False
>
> res at tmXMajorGrid = True
>
> res at tmXMajorGridThicknessF = 1.0
>
> res at tmXMajorGridLineDashPattern = 2
>
> res at tmYMajorGrid = True
>
> res at tmYMajorGridThicknessF = 1.0
>
> res at tmYMajorGridLineDashPattern = 2
>
> res at xyLineColors = (/"blue","black","red","blue","black","red"/)
>
> res at xyLineThicknesses = (/1,1,1,1,1,1/)*2
>
> res at xyDashPatterns = (/0,0,0,2,2,2/)
>
> ;res at tiYAxisString = "~F8~T~B~B~N~ (K)"
>
> res at vpHeightF = 0.5
>
> res at vpWidthF = 1.5
>
> res at trXMinF = -90.0
>
> res at trXMaxF = 90.0
>
>
>
> res at trYMinF = 230.0
>
> res at trYMaxF = 280.0
>
>
>
> plot(0) = gsn_csm_xy(wks,zmas&lat,dataas,res)
>
> plot(1) = gsn_csm_xy(wks,zmas&lat,datacs,res)
>
>
>
> res at trYMinF = -4.0
>
> res at trYMaxF = 0.0
>
> res at tiXAxisString = "Latitude"
>
> plot(2) = gsn_csm_xy(wks,zmas&lat,datace,res)
>
>
>
> lgres = True
>
> lgres at lgLineColors = (/"blue","black","red","blue","black","red"/)
>
> lgres at vpWidthF = 0.15 ; width of legend
> (NDC)
>
> lgres at vpHeightF = 0.1 ; height of legend
> (NDC)
>
> lgres at lgDashIndexes = (/0,0,0,2,2,2/) ; dash indexes
>
> lgres at LgLineThicknessF = 2.0
>
> lgres at lgPerimFillColor = "yellow"
>
> lgres at lgPerimFill = "SolidFill"
>
> gsn_legend_ndc(wks,6,(/"MCH1","MCH2","MCH3","OCH1","OCH2","
> OCH3"/),0.6,0.2,lgres)
>
>
>
> resP = True
>
> resP at gsnMaximize = True
>
> resP at gsnPanelFigureStrings = str_upper((/"a","b","c"/))
>
> resP at gsnPanelFigureStringsFontHeightF = 0.01
>
> resP at amJust = "TopLeft"
>
> resP at gsnPanelBottom = 0.05
>
> gsn_panel(wks,plot,(/3,1/),resP)
>
>
>
>
>
> Thanks for your advice/help with this,
>
> /M
>
>
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> Marston S. Johnston, PhD
>
> Department of Earth Sciences
>
> University of Gothenburg, Sweden
>
> Email: marston.johnston at gu.se
>
> SkypeID: marston.johnston
>
> Phone: +46-31-7864901 <+46%2031%20786%2049%2001>
>
> Only the fruitful thing is true!
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
>
>
>
> _______________________________________________
> ncl-talk mailing list
> ncl-talk at ucar.edu
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
>
>
>
> _______________________________________________
> ncl-talk mailing list
> 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/ 303-497-1726 <(303)%20497-1726>
>
>
>
--
Adam Phillips
Associate Scientist, Climate and Global Dynamics Laboratory, NCAR
www.cgd.ucar.edu/staff/asphilli/ 303-497-1726
<http://www.cgd.ucar.edu/staff/asphilli>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20170612/90bb13ef/attachment.html
More information about the ncl-talk
mailing list