[ncl-talk] png with background transparent

Kevin Hallock hallock at ucar.edu
Tue Feb 27 09:11:02 MST 2018


Hi Francesco,

Before the line “wks = gsn_open_wks(typefile,namefile)”, you can set the “wkBackgroundOpacityF” attribute on the variable “typefile” to 0.0 in order to make the workstation background fully transparent:
typefile at wkBackgroundOpacityF = 0.0
wks = gsn_open_wks(typefile,namefile)

Please note that this resource is only valid for certain workstation types (for example “png” is valid, but “pdf” and “ps” are not).

The workstation resources documentation <https://www.ncl.ucar.edu/Document/Graphics/Resources/wk.shtml> on our website contains more information about “wkBackgroundOpacityF” and other potentially useful resources. 

I hope this helps!
Kevin

> On Feb 26, 2018, at 5:29 PM, Francesco Trotta <francesco.trotta4 at unibo.it> wrote:
> 
> Dear ncl-support
>    I'm generating a contour_map plot for the ocean temperature 
>    I would like to generate a png with a background transparent beacause I want overlay the map on google map. 
>    I'm using the following scripts but I got a white background
> 
>    How can I get a transparent background?
> thanks
> Francesco 
> 
> 
>  ;============== open a file ========================================
>    wks = gsn_open_wks(typefile,namefile)
> 
>    setvalues NhlGetWorkspaceObjectId()
>       "wsMaximumSize" : 300000000
>    end setvalues
> 
>    ;============== miscellanous =======================================
>    gsn_define_colormap(wks,colorsMap)
> 
>    ;============== map resources ======================================
>    res = True
>    ;--- Title attributes -----------------------------------
>    res at tiMainFont        = 0
>    res at tiMainPosition    = "Center"
>    res at tiMainFontHeightF = 0.011
>    ;res at tiMainOffsetYF    = 0.01
>    ;--- GSN attributes -------------------------------------
>    res at gsnDraw         = False
>    res at gsnFrame        = False
>    res at gsnMaximize     = True
>    res at gsnAddCyclic    = False   
>    res at gsnSpreadColors = True
>    ;--- Map attributes (window) ----------------------------
>    res at mpLimitMode = "LatLon"    ;Zoom in on the plot area
>    res at mpMinLatF   = minLatF
>    res at mpMaxLatF   = maxLatF
>    res at mpMinLonF   = minLonF
>    res at mpMaxLonF   = maxLonF
>    ;--- Map attributes (projection) ----------------------------
>    res at mpProjection = "mercator"
>    ;--- Map attributes (land outlines) ---------------------
>    res at mpDataBaseVersion = "HighRes"           ;use GMT coastline
>    res at mpOutlineOn       = lmapOutlineOn       ;turn on continental outlines
>    res at mpOutlineBoundarySets = "AllBoundaries" ;turn on country boundaries (all the boundaries database in use)
>    res at mpGeophysicalLineThicknessF = 2.5       ;thickness of outlines
>    res at mpGeophysicalLineColor= "Black"         ;color of cont. outlines
>    res at mpOutlineDrawOrder    = "PostDraw"      ;draw continental outline last
>    res at mpFillOn              = False      ;turn on gray fill for continental background
>    res at pmTickMarkDisplayMode = "Always"
>    ;--- Map attributes (lat/lon grid lines) ----------------
>    res at mpGridAndLimbOn       = False           ;turn on lat/lon lines
>    res at mpGridLineDashPattern = 2               ;... with xxxx lines
>    res at mpGridLineColor       = "black"         ;color of the lines
>    res at mpGridLatSpacingF     = 10              ;space (in degree) between 2 lines
>    res at mpGridLonSpacingF     = 10              ;idem
>    res at mpGridLineThicknessF  = 2.0             ;thickness of the lines
>    res at mpGridAndLimbDrawOrder= "PostDraw"      ;draw lat/lon lines last
>    res at mpLabelFontHeightF    = 0.005           ;label font size
>    ;--- contours attributes --------------------------------
>    res at cnFillOn              = True            ;areas between levels filled with color
>    res at cnFillMode            = "AreaFill"      ;AreaFill
>    res at cnLevelSelectionMode  = "ManualLevels"  ;set manual contour levels
>    res at cnMinLevelValF        = minLevelVal     ;set max contour level
>    res at cnMaxLevelValF        = maxLevelVal     ;set min contour level
>    res at cnLevelSpacingF       = levelSpacing
>    res at cnLinesOn             = False           ;turn off the contour lines
>    res at cnLineLabelsOn        = False           ;turn off the line labels
>    res at cnLineLabelFontHeightF= 0.005
>    res at cnLineLabelDensityF   = 1               ;label spacing when cnLineLabelPlacementMode != "Constant"
>    res at cnLineLabelFontAspectF= 1               ;shape of the line label. > 1 :thinner characters. < 1 :wider
>    res at cnLineLabelInterval   = 1
>    res at cnInfoLabelOn         = False           ;turn off "CONTOUR FROM X TO X BY X" legend.
>    res at cnLabelMasking        = True            ;mask lines where label appear
>    res at cnConstFEnableFill    = True            ;allow constant values (1=sig) to fill
>    res at cnConstFLabelOn       = False
>    ;--- LabelBar attributes --------------------------------
>    res at lbLabelBarOn       = llabbarOn
>    res at lbLabelsOn         = llabbarLabelsOn
>    ;res at lbTitleString      = "("+field at units+")"
>    res at lbOrientation      = "vertical"          ; vertical label bar
>    ;res at pmLabelBarHeightF = 0.7
>    res at lbTitlePosition    = "Bottom"
>    res at lbAutoManage       = False         ; Necessary to control sizes
>    res at pmLabelBarWidthF      = 0.1               ; default is shorter
>    ;res at pmLabelBarHeightF     = 0.1               ; default is taller
>    ;res at lbLabelFontHeightF    = .018              ; default is HUGE
>    res at lbPerimOn             = False             ; default has box
>    res at lbLeftMarginF = 0.0 
>    res at lbTopMarginF = 0.0 ; eliminate any margin at the top and left of the colorbar
>    res at lbBottomMarginF = 0.0 ; eliminate any margin at the top and left of the colorbar
>    res at lbLabelOffsetF = .05 ; this specifies the offset between the colorbar and the labels as a fraction of vpWidthF 
>    res at lbLabelAutoStride = True ; (optional) this ensures that labels do not overlap when the font height is made very large.
>    res at lbLabelFontHeightF = 0.015
>    res at lbTitleFontHeightF = 0.015
>    ;res at lbLabelStride      = 5       ; Label every 5th entry
>    if (ismissing(minLevelVal) .or. ismissing(maxLevelVal)) then res at lbLabelStrings = "" 
>    else res at lbLabelStrings = "" + sprintf(labformatStr,fspan(minLevelVal,maxLevelVal, \
>                                   floattoint((maxLevelVal-minLevelVal)/levelSpacing)+1)) end if
>    
>    ;-------------- scalars attributes ----------------------
>    res at sfXArray = lon2d(0:ny-1,0:nx-1)       ; abscisses
>    res at sfYArray = lat2d(0:ny-1,0:nx-1)       ; ordonnees
> 
>    ;=== draw contour/contour lines ====================================
>    plot = gsn_csm_contour_map(wks,field(:,:),res)
> 
>    draw(plot)
>    frame(wks)
> 
>    system("convert -alpha off -background white -geometry "+typefile at wkWidth+"x"+typefile at wkHeight+ \
>           " -density 300 -trim "+namefile+".png "+namefile+".png")
> 
> _______________________________________________
> 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 <http://mailman.ucar.edu/mailman/listinfo/ncl-talk>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20180227/d580a844/attachment.html>


More information about the ncl-talk mailing list