[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