[ncl-talk] Attaching a map outside (or inside) of a plot
Mary Haley
haley at ucar.edu
Wed Jul 8 10:11:42 MDT 2015
Michele,
I think the error might be coming from trying to panel the "id" created
from calling gsn_add_annotation, rather than the actual plot. Try this:
gsn_panel(wks,isoplot,(/1,1/),False)
You might also look into maximize_output
--Mary
On Wed, Jul 8, 2015 at 5:58 AM, Michele Petrini <mpetrini139 at yahoo.it>
wrote:
> Dear helpdesk,
> I am trying to attach a small map as a legend of a XY plot (with double
> different Y axes). The map I need to attach must contain also a line, added
> with gsn_add_polyline. The two single plots (the XYY plot and the map with
> the polyline) are correct (I drew them separately first), but as I use
> gsn_add_annotation I get the following error message:
>
>
> fatal:Invalid plot ID=282 passed to NhlGetBB
> warning:pmOverlaySequenceIds isn't a resource in this object
> warning:NhlGetValues:Error retrieving pmOverlaySequenceIds
> fatal:["Execute.c":8578]:Execute: Error occurred at or near line 1927 in
> file $NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl
>
> fatal:["Execute.c":8578]:Execute: Error occurred at or near line 6847 in
> file $NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl
>
> fatal:["Execute.c":8578]:Execute: Error occurred at or near line 7546 in
> file $NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl
>
> fatal:["Execute.c":8578]:Execute: Error occurred at or near line 647 in
> file Exercise1.ncl
>
> Do you have any idea the reason why I get such an error? Here is the code.
>
>
> --------------------------------------------------------------------------------------------------------------------------------
> ;***************************************set resources for the isostasy
> plot (Left)
>
> resL = True
>
> resL at tiYAxisString = "Variation in bedrock elevation (30-0
> kyrs BP) (m)"
> resL at tiXAxisFontHeightF = 0.02
> resL at tiYAxisFontHeightF = 0.02
>
> resL at xyLineColors =
> 20 ; Define line colors.
> resL at xyLineThicknessF =
> 3.0 ; Define
> line thickness.
> resL at xyDashPattern =
> 0 ;
> Make curves all solid
>
> resL at trYMaxF = -150.
> resL at trYMinF = -850.
>
> resL at tmXTOn = False
>
> resL at tmYLMinorOn = False
> resL at tmYLLabelFont = 21
> resL at tmYLLabelFontHeightF = 0.02
>
> resL at pmLegendDisplayMode = "Always"
> resL at lgPerimOn = False
> resL at xyExplicitLegendLabels = "Topography variation (m)"
> resL at pmLegendSide = "Bottom"
> resL at pmLegendOrthogonalPosF = 0.01
> resL at pmLegendWidthF = 0.4
> resL at pmLegendHeightF = 0.04
>
> resL at vpHeightF = 0.4
> resL at vpWidthF = 0.4
>
>
> resL at lgAutoManage = False
> resL at tmXBMode =
> "Explicit"
> ; Define your own tick mark labels.
> ;resL at tmXBLabelFont =
> 21
> ; Change font of labels.
> ;resL at tmXBLabelFontHeightF = 0.02
> resL at tmXBMinorOn =
> False
> ; No minor tick marks.
> resL at tmXBValues =
> (/xiso(0),xiso(52)/)
> ; Location to put tick mark labels
> resL at tmXBLabels = (/"A","B"/)
>
> resL at gsnDraw = False ; do not draw
> picture
> resL at gsnFrame = False ; do not advance
> frame
>
>
> ;******************************************set resources for ice thickness
> plot (right)
>
> resR = True
>
> resR at tiYAxisString = "Variation in ice thickness (30-0 kyrs
> BP) (m)"
> resR at tiXAxisFontHeightF = 0.02
> resR at tiYAxisFontHeightF = 0.02
>
> resR at xyLineColors =
> 21
> ; Define line colors.
> resR at xyLineThicknessF =
> 3.0
> ; Define line thickness.
> resR at xyDashPattern =
> 1
> ; Make curves all solid
>
> resR at trYMaxF = 3100
> resR at trYMinF = 600
>
> resR at tmXBOn = False
> resR at tmXTOn = False
>
> resR at tmYRMinorOn = False
> resR at tmYRLabelFont = 21
> resR at tmYRLabelFontHeightF = 0.02
>
> resR at vpHeightF = 0.4
> resR at vpWidthF = 0.4
>
>
> resR at pmLegendDisplayMode = "Always"
> resR at lgPerimOn = False
> resR at xyExplicitLegendLabels = "Ice thickness variation (m)"
> resR at pmLegendSide = "Bottom"
> resR at pmLegendOrthogonalPosF = 0.06
> resR at pmLegendWidthF = 0.4
> resR at pmLegendHeightF = 0.04
> resR at lgAutoManage = False
> resR at gsnDraw = False ; do not draw
> picture
> resR at gsnFrame = False ; do not advance
> frame
>
>
> ;******************************************set resources for legend plot
> res1 = True
> res1 at gsnDraw = False
> res1 at gsnFrame = False
>
>
> res1 at mpLimitMode = "Corners" ; choose range of map
> res1 at mpLeftCornerLatF = lat(41,1)
> res1 at mpLeftCornerLonF = lon(41,1)
> res1 at mpRightCornerLatF = lat(226,139)
> res1 at mpRightCornerLonF = lon(226,139)
>
> res1 at mpProjection = "LambertEqualArea"
> res1 at mpCenterLatF = 90
> res1 at mpCenterLonF = 0
> res1 at mpOutlineOn = True
> res1 at tfDoNDCOverlay = True
>
> res1 at cnFillOn = True
> res1 at cnLevelSelectionMode = "ManualLevels"
> res1 at cnMinLevelValF = 0
> res1 at cnMaxLevelValF = 5000
> res1 at cnLevelSpacingF = 50
> res1 at gsnDraw = False ; do not draw
> picture
> res1 at gsnFrame = False ; do not advance
> frame
>
> res1 at cnLinesOn = False ; contour lines
> res1 at cnLineLabelsOn = False ; no contour labels
> res1 at gsnSpreadColors = True ; use total
> colormap
> res1 at gsnSpreadColorStart = 2
> res1 at gsnSpreadColorEnd = 27
> res1 at cnInfoLabelOn = False ; no contour info
> (right bottom)
> res1 at lbLabelBarOn = False
>
> res1 at vpHeightF = 0.2
> res1 at vpWidthF = 0.2
>
> ;****************************************************end resources
>
> isoplot =
> gsn_csm_xy2(wks,xiso,brockplot1(25:77),icetplot1(25:77),resL,resR)
>
> mapannotation = gsn_csm_contour_map(wks,Hicetfmask(45:226,1:140),res1)
>
> ypts = (/lat(145,25),lat(145,77)/)
> xpts = (/lon(145,25),lon(145,77)/)
>
> res2 = True
> res2 at gsLineColor = "black"
> res2 at gsLineThicknessF = 3.0
> res2 at gsLineLabelString = "A B"
>
> dum = new(1,graphic)
> dum = gsn_add_polyline(wks,mapannotation,xpts(0:1),ypts(0:1),res2)
>
> amres = True
> amres at amParallelPosF = -1.15
> amres at amOrthogonalPosF = -0.4
> amres at amJust = "CenterLeft"
>
> map_final = gsn_add_annotation(isoplot,mapannotation,amres)
>
> gsn_panel(wks,map_final,(/1,1/),False)
>
> delete(resL)
> delete(resR)
> delete(res1)
> delete(res2)
> delete(amres)
>
> ----------------------------------------------------------------------------------------------------------------------------------
>
> Thank you for you help,
>
> Michele
>
> --
>
> ***
> Michele Petrini
>
> Ph.D. student in Earth Science and Fluid Mechanics
>
> Università degli studi di Trieste,
> Dipartimento di Matematica e Geoscienze
> Palazzina C - via Weiss 1, 34128 Trieste, Italy
>
> Email: mpetrini139 at yahoo.it
> Skype: michele.petrins
> Mobile: +39 3398367372
>
>
> _______________________________________________
> ncl-talk mailing list
> ncl-talk at ucar.edu
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20150708/aaa914d6/attachment.html
More information about the ncl-talk
mailing list