[ncl-talk] how to get rid of the front symbols in the legend?

Dennis Shea shea at ucar.edu
Wed Sep 21 07:44:46 MDT 2016


So, I assume that is what you want?
---
I suggest

sprintf("%5.2f", rc1)

would be adequate for the plot.


On Tue, Sep 20, 2016 at 7:59 AM, dyjbean at gmail.com <dyjbean at gmail.com>
wrote:

> i referred the text_18.ncl , and give those figure.
> the main script is as the below:
>     ;************************************************
> ; plotting parameters
> ; This illustrates one approach. Overlays could also be used.
> ;************************************************
>    rmfiles=systemfunc("rm "+"2010_678.png")
>    wks  = gsn_open_wks("png","2010_678")
>
>    res              = True                     ; plot mods desired
>    res at gsnMaximize  = True
>    res at gsnDraw      = False                    ; Turn off
> draw and frame so
>    res at gsnFrame     = False                    ; we can attach some text.
>
>    txres =  True
>    txres at txPerimOn  =  False
>    txres at txFontHeightF = 0.02
>
>
>    res1  =  True
>    res1  =  res
>    res1 at xyMarkLineModes     = (/"Markers","Lines"/)  ;
> choose which have markers
>    res1 at xyMarkers           = 16                     ;
> choose type of marker
>    res1 at xyMarkerColor       = "red"                  ; Marker color
>    res1 at xyMarkerSizeF       = 0.01                  ;
> Marker size (default 0.01)
>    res1 at xyDashPatterns      = 1                       ; solid line
>    res1 at xyLineThicknesses   = (/1,2/)                ; set
> second line to 2
>    res1 at tmYLFormat          = "f"                    ; not
> necessary but nicer labels
>    ;res1 at lgPerimOn           =  False
>    res1 at tiYAxisString      =  "O3(DU)"
>    res1 at tiXAxisString      =  "NO2(DU)"
>
>    plot1  = gsn_csm_xy (wks,x1,pltarry1,res1)           ; create plot
>
>
> ;; bottom right string
>    amres1_tr =  True
>    amres1_tr at amParallelPosF  = 0.48
>    amres1_tr at amOrthogonalPosF = 0.48
>    amres1_tr at amJust   =  "BottomRight"
>
>    ;; create text strings
>    tr1_label = "y="+tostring(rc1)+"*x"+"+"+tostring(rc1@
> yintercept)+"~C~"+"R~S~2~N~="+tostring(cod1)
>
>    tx1res = True
>    tx1res =  txres
>    tx1res at txBackgroundFillColor = "white"
>    tx1id_tr = gsn_create_text(wks,tr1_label,tx1res)
>
> ;; attach text strings to plot
>    amid_tr1 = gsn_add_annotation(plot1,tx1id_tr,amres1_tr)
>
>
>    res2  =  True
>    res2  =  res
>    res2 at xyMarkLineModes     = (/"Markers","Lines"/)  ;
> choose which have markers
>    res2 at xyMarkers           = 16                     ;
> choose type of marker
>    res2 at xyMarkerColor       = "red"                  ; Marker color
>    res2 at xyMarkerSizeF       = 0.01                  ;
> Marker size (default 0.01)
>    res2 at xyDashPatterns      = 1                       ; solid line
>    res2 at xyLineThicknesses   = (/1,2/)                ; set
> second line to 2
>    res2 at tmYLFormat          = "f"                    ; not
> necessary but nicer labels
>    ;res2 at lgPerimOn           =  False
>    res2 at tiYAxisString      =  "O3(DU)"
>    res2 at tiXAxisString      =  "CO(DU)"
>
>    plot2  = gsn_csm_xy (wks,x2,pltarry2,res2)           ; create plot
>
> ;; bottom right string
>    amres2_tr =  True
>    amres2_tr at amParallelPosF  = 0.48
>    amres2_tr at amOrthogonalPosF = 0.48
>    amres2_tr at amJust   =  "BottomRight"
>
> ;; create text strings
>    tr2_label = "y="+tostring(rc2)+"*x"+"+"+tostring(rc2@
> yintercept)+"~C~"+"R~S~2~N~="+tostring(cod2)
>
>    tx2res = True
>    tx2res =  txres
>    tx2res at txBackgroundFillColor = "white"
>    tx2id_tr = gsn_create_text(wks,tr2_label,tx2res)
>
>
> ;; attach text strings to plot
>    amid_tr2 = gsn_add_annotation(plot2,tx2id_tr,amres2_tr)
>
>    ;---Draw both plot in a panel.
>    pres                  = True
>    pres at gsnMaximize      = True
>    ;pres at gsnPanelLabelBar = True
>    pres at txString           = "2010 summer"
>    ;pres at pmLabelBarWidthF = 0.6
>    pres at lbLabelFontHeightF  = 0.03              ; make labels smaller
>
>    gsn_panel(wks,(/plot1,plot2/),(/1,2/),pres)
>
>
> ------------------------------
> dyjbean at gmail.com
>
>
> *From:* Dennis Shea <shea at ucar.edu>
> *Date:* 2016-09-20 20:38
> *To:* dyjbean soybean <dyjbean at gmail.com>
> *Subject:* Re: Re: [ncl-talk] how to get rid of the front symbols in the
> legend?
> On the Applications page:  http://www.ncl.ucar.edu/Applications/
>
> See "Text" ...there are numerous examples.
> You do not need to use the 'legend' class. This does the marker and text.
>
> Many Applications show how to add text only. For examples:
> See the Boorstarp link
>
> ;***************************************************************
> ;--- text object original sample statistics
> ;***************************************************************
>    txres                       = True
>    txres at txFont                = "helvetica-bold"
>    txres at txFontHeightF         = 0.0150
>    textSample  = (/"  Mean="+sprintf("%5.1f", xAvg) +"~C~"+  \
>                    "   Std="+sprintf("%5.1f", xStd) +"~C~"+  \
>                    "  Skew="+sprintf("%5.2f", xSkew) +"~C~"+  \
>                    "  Kurt="+sprintf("%5.2f", xKurt) +"~C~"+  \
>                    "  xLow="+sprintf("%5.1f", xLow) +"~C~"+  \
>                    "  xMed="+sprintf("%5.1f", xMed) +"~C~"+  \
>                    "   xHi="+sprintf("%5.1f", xHi ) /)
>    txBoxSample  = gsn_create_text(wks,textSample, txres)
>    amres  = True
>    amres at amParallelPosF   =  0.30             ; move legend to the right
>    amres at amOrthogonalPosF = -0.30             ; move the legend up
>    annoSample = gsn_add_annotation(hstSample, txBoxSample, amres)  ; Attach string to plot
>
> You can change this for your application.
>
> -----------
>
> In the future, please send questions to ncl-talk only.  We just can not
> answer individual questions.
>
> On Mon, Sep 19, 2016 at 8:14 AM, dyjbean soybean <dyjbean at gmail.com>
> wrote:
>
>> my purpose is to keep R-squared and the fitting term, and get rid of the
>> front *black line* and *red point.*
>>
>> like the above result.
>>
>>
>>
>> ------------------------------
>> dyjbean at gmail.com
>>
>>
>> *From:* Dennis Shea <shea at ucar.edu>
>> *Date:* 2016-09-19 21:40
>> *To:* dyjbean soybean <dyjbean at gmail.com>
>> *Subject:* Re: [ncl-talk] how to get rid of the front symbols in the
>> legend?
>> This is offline. I do not know the answer to the question posted.
>>
>> However, The number of decimal places is rather large.
>>
>> You use:
>>
>>    tostring(rc1)
>>
>> I suggest looking at
>>
>>    http://www.ncl.ucar.edu/Document/Functions/Built-in/sprintf.shtml
>>
>> This allows the user to print a user desired number of decimal places:
>>
>>
>>
>> *sprintf*("%5.2f", rc1)*sprintf*("%5.2f", rc1 at yintercept)
>>
>> Of course the 5.2 could be 6.3 or .... whatever
>>
>>
>> On Mon, Sep 19, 2016 at 7:13 AM, dyjbean soybean <dyjbean at gmail.com>
>> wrote:
>>
>>>
>>> hi,
>>>    i ploted a figure with fitting function and R-squared coefficient in
>>> the legend showed below:
>>>   in the legend , there are symbols *black solid line* and *red point* existing
>>> in the front of R-squared and the fitting function,
>>> i want to get rid of the black solid line and red point in the legend,and
>>> only leave the behind expression.
>>> but i don't know which attribute can be assigned in my script as
>>> following:
>>> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>>> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
>>> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
>>> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
>>>
>>> begin
>>> ;************************************************
>>> ; Read data from file [time, value].
>>> ; Missing values (_FillValue) indicated by -9999.0
>>> ;************************************************
>>>
>>>    txtfiles=systemfunc("ls *.txt")
>>>    nfiles=dimsizes(txtfiles)
>>>
>>>    do i=0,nfiles-1
>>>
>>>    ncol  = 3
>>>    ;nrow  = systemfunc("wc -l "+txtfiles(i))
>>>    nrow  = numAsciiRow(txtfiles(i))
>>>    data  = asciiread(txtfiles(i), (/nrow,ncol/), "float")
>>>    data at _FillValue = -999.0
>>>
>>>    y     = data(:,0)              ; O3
>>>    x1    = data(:,1)              ; NO2
>>>    x2    = data(:,2)              ; CO
>>>
>>>    xvaro3=variance(y)
>>>
>>> ;************************************************
>>> ; calculate the regression coefficient (slope)
>>> ;************************************************
>>>    rc1    = regline(x1, y)          ; slope
>>>    rc1 at units = "DU"
>>>    print(rc1)
>>>
>>>    x1resvaro3 = variance((y-(rc1*x1+rc1 at yintercept)))
>>>    cod1 =  1.0-(x1resvaro3/xvaro3)
>>>
>>>    rc2    = regline(x2, y)          ; slope
>>>    rc2 at units = "DU"
>>>    print(rc2)
>>>
>>>    x2resvaro3 = variance((y-(rc2*x2+rc2 at yintercept)))
>>>    cod2 =  1.0-(x2resvaro3/xvaro3)
>>>
>>> ;************************************************
>>> ; create an array to hold both the original data
>>> ; and the calculated regression line
>>> ;     ---------
>>> ;     y = mx+b
>>> ;     m is the slope:       rc      returned from regline
>>> ;     b is the y intercept: rc at yave attribute of rc returned
>>>  from regline
>>> ;************************************************
>>>
>>> ;;; O3->NO2
>>>    pltarry1   = new ( (/2,nrow/), typeof(data), data at _FillValue)
>>>
>>>    pltarry1(0,:) = y                                 ; use markers
>>>    pltarry1(1,:) = rc1*(x1-rc1 at xave) + rc1 at yave          ; u
>>> se solid line
>>>
>>> ;;;; O3->CO
>>>    pltarry2   = new ( (/2,nrow/), typeof(data), data at _FillValue)
>>>
>>>    pltarry2(0,:) = y                                 ; use markers
>>>    pltarry2(1,:) = rc2*(x2-rc2 at xave) + rc2 at yave      ; use solid line
>>>
>>>
>>> ;************************************************
>>> ; plotting parameters
>>> ; This illustrates one approach. Overlays could also be used.
>>> ;************************************************
>>>    rmfiles=systemfunc("rm "+"2010_678.png")
>>>    wks  = gsn_open_wks("png","2010_678")
>>>
>>>    res                     = True                   ; plot mods desired
>>>    res at gsnDraw               = False
>>>    res at gsnFrame              = False
>>>    res at xyMarkLineModes     = (/"Markers","Lines"/)  ; choose
>>>  which have markers
>>>    res at xyMarkers           = 16                     ; choose
>>>  type of marker
>>>    res at xyMarkerColor       = "red"                  ; Marker color
>>>    res at xyMarkerSizeF       = 0.01                  ; Marker
>>> size (default 0.01)
>>>    res at xyDashPatterns      = 1                       ; solid line
>>>    res at xyLineThicknesses   = (/1,2/)                ; set se
>>> cond line to 2
>>>    res at tmYLFormat          = "f"                    ; not ne
>>> cessary but nicer labels
>>>    ;res at lgPerimOn           =  False
>>>
>>>    res at pmLegendDisplayMode    = "Always"            ; turn on legend
>>>
>>>      ;res at tiMainString        = "Output from regline"  ; title
>>>    res1  =  True
>>>    res1  =  res
>>>
>>>    ;res1 at lgLineLabelsOn  =  False
>>>    res1 at pmLegendSide           = "Bottom"               ; Ch
>>> ange location of
>>>    res1 at pmLegendParallelPosF   = .63                 ; move units right
>>>    res1 at pmLegendOrthogonalPosF = -0.5                ; move units down
>>>
>>>    res1 at pmLegendWidthF         = 0.15                ; Change width and
>>>    res1 at pmLegendHeightF        = 0.18                ; height of legend.
>>>    res1 at lgLabelFontHeightF     = .02                 ; chang
>>> e font height
>>>
>>>    res1 at tiYAxisString      =  "O3(DU)"
>>>    res1 at tiXAxisString      =  "NO2(DU)"
>>>
>>>
>>>    ;; it function and R-squared
>>>    x1ff ="y="+tostring(rc1)+"*x"+"+"+tostring(rc1 at yintercept)
>>>    x1fr2="R~S~2~N~="+tostring(cod1)
>>>
>>>    print(x1ff)
>>>    print(x1fr2)
>>>
>>>    res1 at xyExplicitLabels   =(/x1ff,x1fr2/)
>>>
>>>    plot1  = gsn_csm_xy (wks,x1,pltarry1,res1)           ; create plot
>>>
>>>    res2  =  True
>>>    res2  =  res
>>>
>>>    ;res2 at lgLineLabelsOn  =  False
>>>    res2 at pmLegendSide           = "Bottom"               ; Ch
>>> ange location of
>>>    res2 at pmLegendParallelPosF   = .65                 ; move units right
>>>    res2 at pmLegendOrthogonalPosF = -0.5                ; move units down
>>>
>>>    res2 at pmLegendWidthF         = 0.15                ; Change width and
>>>    res2 at pmLegendHeightF        = 0.18                ; height of legend.
>>>    res2 at lgLabelFontHeightF     = .02                 ; chang
>>> e font height
>>>
>>>    res2 at tiYAxisString      =  "O3(DU)"
>>>    res2 at tiXAxisString      =  "CO(DU)"
>>>
>>>
>>>    ;; fit function and R-squared
>>>    x2ff = "y="+tostring(rc2)+"*x"+"+"+tostring(rc2 at yintercept)
>>>    x2fr2 = "R~S~2~N~="+tostring(cod2)
>>>
>>>    res2 at xyExplicitLabels   =(/x2ff,x2fr2/)
>>>
>>>    plot2  = gsn_csm_xy (wks,x2,pltarry2,res2)           ; create plot
>>>
>>>    ;---Draw both plot in a panel.
>>>    pres                  = True
>>>    pres at gsnMaximize      = True
>>>    ;pres at gsnPanelLabelBar = True
>>>    pres at txString           = "2010 summer"
>>>    ;pres at pmLabelBarWidthF = 0.6
>>>    pres at lbLabelFontHeightF  = 0.01              ; make labels smaller
>>>
>>>    gsn_panel(wks,(/plot1,plot2/),(/1,2/),pres)
>>>
>>>    delete([/pltarry1,pltarry2/])
>>>    delete([/res,res1,res2/])
>>>    delete([/rc1,rc2/])
>>>    delete(data)
>>>    delete([/x1resvaro3,x2resvaro3,cod1,cod2/])
>>>    delete([/x1ff,x1fr2,x2ff,x2fr2/])
>>>
>>>
>>>
>>>  end do
>>>
>>>
>>> end
>>>
>>> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>>>
>>>  any help would be appreciated!
>>>
>>>
>>>
>>> ------------------------------
>>> dyjbean at gmail.com
>>>
>>> _______________________________________________
>>> 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/20160921/cb00f507/attachment-0001.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: InsertPic_.png
Type: image/png
Size: 111295 bytes
Desc: not available
Url : http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20160921/cb00f507/attachment-0003.png 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: InsertPic_231E(09-20-21-45-31).png
Type: image/png
Size: 12734 bytes
Desc: not available
Url : http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20160921/cb00f507/attachment-0004.png 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: InsertPic_(09-19(09-20-21-45-31).png
Type: image/png
Size: 106014 bytes
Desc: not available
Url : http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20160921/cb00f507/attachment-0005.png 


More information about the ncl-talk mailing list