[ncl-talk] Attache a legend and text to the plot

Rick Brownrigg brownrig at ucar.edu
Thu Feb 9 09:40:02 MST 2017


HI,

Normally, when you make calls that return a plot object, such as
gsn_csm_xy(), the plot is generated and drawn immediately.  If you want to
further annotate the plot with polylines or text, etc, you have to suppress
this auto-draw:

 res at gsnDraw  = False       ; don't draw the plots now
 res at gsnFrame = False       ; or advance the frame
 ...

 plot = gsn_csm_xy(wks, ...., res)
 ...

 gsn_ployline(...)

 gsn_text(...)

 ...etc...

 draw(plot)    ; now explicitly draw the plot

 frame(wks)    ; advance workstaton to next page/window/image
 ...

Make sense?

Rick


On Wed, Feb 8, 2017 at 6:37 PM, Anahita Amiri Farahani <aamir003 at ucr.edu>
wrote:

> Hi All,
>
> Here is my code to add legend and text to the plot, but it does not work:
>
>
>
> m1 = "ccsm3_bgc4_I_11b"
> m2 = "b30.061cb"
>
> line_col1 = "red"
> line_col2 = "blue"
> line_pat1 = 0          ; Solid
> line_pat2 = 2          ; Dashed
>
>
>  wks   = gsn_open_wks ("eps","xy")
> ;---Set plotting parameters
>  res                   = True
> res at xyDashPattern  = 0                         ; Make curves all solid
> res at xyLineColors      = (/"blue","red","green"/)          ; change line
> color
> res at tiMainString      = "Vertical profile of atmospheric heating rate"
>           ; add title
> res at tiXAxisString = "Atmospheric heating (K/day)"  ; xaxis string
> res at tiYAxisString = "Pressure levels (hPa)"                  ; yaxis
> string
> res at trYReverse        = True                       ; reverse Y-axis
>
> res at trYMinF     = 0 ; set minimum Y-axis value
> res at trYMaxF     =  1200 ; set maximum Y-axis value
> res at trXMinF     = -0.5      ; set minimum X-axis value
> res at trXMaxF     = 1.2      ; set maximum X-axis value
>
>
> plot  = gsn_csm_xy (wks,data2,lev2,res) ; create plot
> ;
> ; Draw some text and lines to create a legend.
> ;
>     res_text               = True
>     res_text at txFontHeightF = 0.015
>     res_text at txJust        = "CenterLeft"
>
>     res_lines                   = True        ; polyline mods desired
>     res_lines at gsLineColor       = line_col1   ; line color
>     res_lines at gsLineThicknessF  = 3           ; line thicker
>     res_lines at gsLineDashPattern = line_pat1   ; dash pattern
>
>   xx = (/1893,1907/)
>   yy = (/0.705,0.705/)
>     gsn_polyline(wks,plot,xx,yy,res_lines)
>     gsn_text(wks,plot,m1,1900,53.,res_text)
>
>   yy = (/0.79,0.79/)
>     res_lines at gsLineColor       = line_col2   ; line color
>     res_lines at gsLineDashPattern = line_pat2   ; dash pattern
>     gsn_polyline(wks,plot,xx,yy,res_lines)
>     gsn_text(wks,plot,m2,1900,52.5,res_text)
>
>
> delete(wks)
>
>
>
>
>
> Thank you,
> Ana
>
> _______________________________________________
> 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/20170209/9eb914ab/attachment.html 


More information about the ncl-talk mailing list