[ncl-talk] can not create year labels for x axis

Dhirendra Kumar dhirendra.cub at gmail.com
Thu Jan 5 10:29:29 MST 2017


Mary

Thank you for such a prompt reply.

My data file contains single value for every year (JJAS season), and it was
processed through CDO. The PrintMinMax gives the output:

Number Of Attributes: 6
  standard_name :       time
  long_name :   time
  bounds :      time_bnds
  units :       hours since 1900-1-1 00:00:00
  calendar :    standard
  axis :        T
(0)     time: min=697594.5   max=1021954.5

You were correct about the date. So that was the reason, it did not work.
As I am a newbie here; could you please guide me further to correct the
dates for the plotting with the same file. I have also tried using the
function mentioned in the mail but it give labels starting from 7000.
Then I had tried adding the following line in the code:

 tstart = 1979
  tend   = 2016
  yyyymm   = yyyymm_time(tstart, tend, "integer")
  yyyyfrac = yyyymm_to_yyyyfrac(yyyymm,0.0)   ; create fractional years for
                                            ; plotting purposes

which gave the label in years but not for the full series of time.

Looking forward for your input.

Thanks


On Thu, Jan 5, 2017 at 9:38 PM, Mary Haley <haley at ucar.edu> wrote:

> Dhirendra,
>
> First, a couple of NCL tips:
>
> 1)
> ​You don't need to use a "do" loop to do simple array arithmetic.  You can
> replace the following code:
>
>
>
> ​  ​
> dateF   = new (dimDate, float)
>    do n=0,dimDate-1
>     yyyy     = date(n)/100
>     mon      = date(n)-yyyy*100
>     dateF(n) = tofloat(yyyy + (mon-1)/12.)
>   end do
>
> ​with:
>
>
>     yyyy  = date/100
>     mon   = date-yyyy*100
>     dateF = tofloat(yyyy + (mon-1)/12.)
>
> 2) We have a function that converts YYYYMM to YYYY.frac, so the above code
> can be replaced with
> ​ one line:​
>
>
>   dateF = yyyymm_to_yyyyfrac(date,0.0)
>
>
> The values on your X axis look suspicious to me, as they go from around
> 7000 to over 10000. Are these really your year values?  Did you look at the
> original "date" variable to make sure these values are actually YYYYMM?
>
> printVarSummary(date)
> printMinMax(date)
>
> You should also do:
>
> print(date)
>
> to see what all the numbers look like.
>
>
> To get nice labels on a time axis, I highly recommend the use of the
> time_axis_labels function:
>
> http://www.ncl.ucar.edu/Document/Functions/User_
> contributed/time_axis_labels.shtml
>
> You have lots of options for how to format your labels.
>
> You can see some examples of how to use this at:
>
> http://www.ncl.ucar.edu/Applications/time_labels.shtml
>
> In particular, look at time_labels_4.ncl. This shows how to plot time data
> that is in a YYYYMM format. I'm not sure your time is in this format, but
> hopefully the above page will give you enough information to format your X
> labels the way you want them.
>
> --Mary
>
>
>
>
> On Thu, Jan 5, 2017 at 8:09 AM, Dhirendra Kumar <dhirendra.cub at gmail.com>
> wrote:
>
>> Hi
>>
>> I am trying to plot an nc file having anomaly time series for the JJAS
>> season. I have tried to follow the sample scripts over the NCL web
>> resource, but could not succeed in getting the correct labels of time
>> (year) on the X axis.
>>
>> Would appreciate if anybody could help...
>> the script is as following-
>>
>> begin
>>  f = addfile ("std_tim_anomaly.nc", "r")      ; add file
>>  date  = f->time
>>  printVarSummary(date)
>>  precip= f->tp(:,0,0)
>>  printVarSummary(precip)
>>
>>  dimDate = dimsizes(date)         ; number of dates
>>
>> ; convert integer YYYYMM to float
>>
>>  dateF   = new (dimDate, float)
>>    do n=0,dimDate-1
>>     yyyy      = date(n)/100
>>     mon       = date(n)-yyyy*100
>>     dateF(n) = tofloat(yyyy + (mon-1)/12.)
>>   end do
>>
>> ;*********************************
>> ; create plot
>> ;********************************
>>   wks   = gsn_open_wks ("ps", "bar" ) ; send graphics to PS file
>>   res          = True             ; plot mods desired
>>   res at gsnScale = True
>>
>> ; these four resources allow the user to stretch the plot size, and
>> ; decide exactly where on the page to draw it.
>>
>>   res at vpXF      = 0.10            ; In page coordinates, where to start
>>   res at vpYF      = 0.75            ; the plot
>>   res at vpHeightF = 0.43            ; Changes the aspect ratio
>>   res at vpWidthF  = 0.85
>>
>>   res at trYMinF   = -3.0            ; min value on y-axis
>>   res at trYMaxF   =  3.0            ; max value on y-axis
>>
>>   res at tiYAxisString = "Anomalies" ; y-axis label
>> ; this resource changes a regular line plot to a bar chart
>>   res at gsnXYBarChart         = True ; create bar chart
>> ; this resource is required to get bars above and below a reference line
>>   res at gsnYRefLine           = 0. ; reference line
>>   res at gsnXYBarChart         = True            ; create bar chart
>>   res at gsnAboveYRefLineColor = "red"           ; above ref line fill red
>>   res at gsnBelowYRefLineColor = "blue"          ; below ref line fill blue
>>   res at gsnXYBarChartBarWidth = 24.0
>>  plot = gsn_csm_xy (wks,dateF(::),precip,res)
>> end
>>
>> [image: Inline image 1]this is the plot which is being created.
>>
>> Thanks in anticipation.
>>
>> --
>> ========================================
>> Dhirendra Kumar
>> PhD Student
>> School of Environmental Sciences, JNU
>> New Delhi (India)
>> Contact: +91 9910778043 <+91%2099107%2078043>
>> Alternate email: dhirendra.cub at outlook.com
>> =========================================
>>
>> _______________________________________________
>> ncl-talk mailing list
>> ncl-talk at ucar.edu
>> List instructions, subscriber options, unsubscribe:
>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>
>>
>


-- 
========================================
Dhirendra Kumar
PhD Student
School of Environmental Sciences, JNU
New Delhi (India)
Contact: +91 9910778043
Alternate email: dhirendra.cub at outlook.com
=========================================
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20170105/2aefa59e/attachment.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 13157 bytes
Desc: not available
Url : http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20170105/2aefa59e/attachment.png 


More information about the ncl-talk mailing list