Thank you very much Eric for your valuable suggestions and explanations, now I 
could follow what exactly was wrong with my way of doing it, I got the result 
correctly.
thanks a lot
with best regards,
Sudheer



----- Original Message -----
> From: Eric Firing <efir...@hawaii.edu>
> To: Sudheer Joseph <sudheer.jos...@yahoo.com>
> Cc: "matplotlib-users@lists.sourceforge.net" 
> <matplotlib-users@lists.sourceforge.net>
> Sent: Tuesday, 11 June 2013 12:53 PM
> Subject: Re: [Matplotlib-users] time axis format
> 
> On 2013/06/10 6:16 PM, Sudheer Joseph wrote:
>> 
>> 
>>  Thank you Eric and CM,
>>  I have the below piece of code and added the new definition for minorLocs, 
> but gets the below error. I believe I did not fully understand the concept 
> you 
> mentioned.
>> 
> 
> Try it again, please, exactly as I wrote it.
> 
>>  minorLocs = mdates.MonthLocator(bymonth=[1,3,5,7,9,11],bymonthday=15)
> 
> 
> Delete the following line:
>>  minorFmt = mdates.DateFormatter('%b')
>> 
> 
> Restore the following to what I wrote; your change to the first line is 
> wrong.
>>  class MonthLetter(minorFmt):
>>       def __init__(self):
>>           DateFormatter.__init__(self, "%b")
>>       def __call__(*args):
>>           s = DateFormatter.__call__(*args)
>>           return s[:1]
>>  minorFmt = MonthLetter()
>> 
>> 
>> 
>> 
>>       531     def viewlim_to_dt(self):
>>  --> 532         vmin, vmax = self.axis.get_view_interval()
>>       533         return num2date(vmin, self.tz), num2date(vmax, self.tz)
>>       534
>> 
>>  AttributeError: 'NoneType' object has no attribute 
> 'get_view_interva
>> 
>> 
>> 
>>  From: Eric Firing <efir...@hawaii.edu>
>> 
>>  To: matplotlib-users@lists.sourceforge.net
>>>  Sent: Tuesday, 11 June 2013 6:11 AM
>>>  Subject: Re: [Matplotlib-users] time axis format
>>> 
>>> 
>>>  On 2013/06/10 2:08 PM, Sudheer Joseph wrote:
>>>> 
>>>>  Thank you,
>>>>  So there is no way to get J F M A etc with out reducing font size? 
> We
>>>>  often need to make presentation in front of senior people who 
> insist for
>>>>  bigger fonts.
>>>>  With best regards,
>>>>  Sudheer
>>> 
>>>  One way is to subclass DateFormatter, e.g.,
>>> 
>>>  class MonthLetter(DateFormatter):
>>>        def __init__(self):
>>>            DateFormatter.__init__(self, "%b")
>>> 
>>>        def __call__(*args):
>>>            s = DateFormatter.__call__(*args)
>>>            return s[:1]
>>> 
>>>  class MonthLetterYear(DateFormatter):
>>>        def __init__(self):
>>>            DateFormatter.__init__(self, "%b\n%Y")
>>> 
>>>        def __call__(*args):
>>>            s = DateFormatter.__call__(*args)
>>>            return = s[:1] + s[3:]
>>> 
>>>  ...
>>> 
>>>  majorFmt = MonthLetterYear()
>>>  minorFmt = MonthLetter()
>>> 
>>> 
>>>  Not tested, but something like that should work.
>>> 
>>>  Eric
>>> 
>>> 
>>>> 
>>>> 
>>>> 
> ------------------------------------------------------------------------
>>>>  *From: * Paul Hobson <pmhob...@gmail.com>;
>>>>  *To: * Sudheer Joseph <sudheer.jos...@yahoo.com>;
>>>>  *Cc: * matplotlib-users@lists.sourceforge.net
>>>>  <matplotlib-users@lists.sourceforge.net>;
>>>>  *Subject: * Re: [Matplotlib-users] time axis format
>>>>  *Sent: * Mon, Jun 10, 2013 8:08:18 PM
>>>> 
>>>>  In that case, I would use ax.tick_params(...) to make the font 
> smaller.
>>>> 
>>>> 
>>>>  On Sat, Jun 8, 2013 at 7:36 AM, Sudheer Joseph 
> <sudheer.jos...@yahoo.com
>>>>  <javascript:return>> wrote:
>>>> 
>>>>        Dear Paul,
>>>>                        The issue I am facing is like in the attached 
> plot
>>>>        where the month naming get cluttered.
>>>>        with best regards,
>>>>        Sudheer
>>>>       
> ***************************************************************
>>>>        Sudheer Joseph
>>>>        Indian National Centre for Ocean Information Services
>>>>        Ministry of Earth Sciences, Govt. of India
>>>>        POST BOX NO: 21, IDA Jeedeemetla P.O.
>>>>        Via Pragathi Nagar,Kukatpally, Hyderabad; Pin:5000 55
>>>>        Tel:+91-40-23886047(O),Fax:+91-40-23895011(O),
>>>>        Tel:+91-40-23044600(R),Tel:+91-40-9440832534(Mobile)
>>>>        E-mail:sjo.in...@gmail.com
>>>>        <javascript:return>;sudheer.jos...@yahoo.com 
> <javascript:return>
>>>>        Web- http://oppamthadathil.tripod.com
>>>>       
> ***************************************************************
>>>> 
>>>>           
> ------------------------------------------------------------------------
>>>>            *From:* Sudheer Joseph <sudheer.jos...@yahoo.com
>>>>            <javascript:return>>
>>>>            *To:* Paul Hobson <pmhob...@gmail.com 
> <javascript:return>>
>>>>            *Cc:* "matplotlib-users@lists.sourceforge.net
>>>>            <javascript:return>" 
> <matplotlib-users@lists.sourceforge.net
>>>>            <javascript:return>>
>>>>            *Sent:* Saturday, 8 June 2013 7:46 PM
>>>> 
>>>>            *Subject:* Re: [Matplotlib-users] time axis format
>>>> 
>>>>            Thank you Paul for the helping hand,
>>>>                                               However I was looking 
> for
>>>>            slightly different solution like in the attached plots. I 
> used
>>>>            ferret to do this based on the length of the time axis it 
> chose
>>>>            the mode of labelling. for example in case of 2 year plot 
> it
>>>>            made month labeling as j f m etc and in case of 1 year as 
> there
>>>>            is enough space on x axis it made jan feb etc with single 
> label
>>>>            of year.
>>>> 
>>>>            In the attached python plot 
> (ATser_RAMA_HYCOM_U_8n90e.png) every
>>>>            tick point is lablled for year, which I wanted to avoid 
> and get
>>>>            plots similar to the first types thought it is not done
>>>>            automatically but at least manually.
>>>> 
>>>> 
>>>>           
> ***************************************************************
>>>>            Sudheer Joseph
>>>>            Indian National Centre for Ocean Information Services
>>>>            Ministry of Earth Sciences, Govt. of India
>>>>            POST BOX NO: 21, IDA Jeedeemetla P.O.
>>>>            Via Pragathi Nagar,Kukatpally, Hyderabad; Pin:5000 55
>>>>            Tel:+91-40-23886047(O),Fax:+91-40-23895011(O),
>>>>            Tel:+91-40-23044600(R),Tel:+91-40-9440832534(Mobile)
>>>>            E-mail:sjo.in...@gmail.com
>>>>            <javascript:return>;sudheer.jos...@yahoo.com 
> <javascript:return>
>>>>            Web- http://oppamthadathil.tripod.com
>>>>           
> ***************************************************************
>>>> 
>>>>               
> ------------------------------------------------------------------------
>>>>                *From:* Paul Hobson <pmhob...@gmail.com 
> <javascript:return>>
>>>>                *To:* Sudheer Joseph <sudheer.jos...@yahoo.com
>>>>                <javascript:return>>
>>>>                *Cc:* "matplotlib-users@lists.sourceforge.net
>>>>                <javascript:return>" 
> <matplotlib-users@lists.sourceforge.net
>>>>                <javascript:return>>
>>>>                *Sent:* Friday, 7 June 2013 8:50 PM
>>>>                *Subject:* Re: [Matplotlib-users] time axis format
>>>> 
>>>> 
>>>> 
>>>> 
>>>>                On Thu, Jun 6, 2013 at 11:39 PM, Sudheer Joseph
>>>>                <sudheer.jos...@yahoo.com 
> <javascript:return>> wrote:
>>>> 
>>>>                    Dear Experts,
>>>>                                 I have been experimenting with the
>>>>                    plot_dates option of matplotlib to plot time 
> series data
>>>>                    and have below questions
>>>> 
>>>>                      I have used
>>>>                    loc = mdates.AutoDateLocator()
>>>>                    ax.xaxis.set_major_locator(loc)
>>>>                   
> ax.xaxis.set_major_formatter(mpl.dates.DateFormatter('%b\n
>>>>                    %Y'))
>>>> 
>>>> 
>>>>                    and got the tick labels in attached plot
>>>> 
>>>>                    However I feel the repeatd year labeling is not 
> needed
>>>>                    here and it is required once in a year only , 
> Also if I
>>>>                    need to plot long time seris insted of 
> "MAR" "APR" I
>>>>                    wanted to get them reduced to "M" 
> "A" etc so that the
>>>>                    lavel congestion can be avoided.
>>>> 
>>>> 
>>>>                    I notice that below options are available, but 
> was
>>>>                    wondering how commbinatins of these locateors are 
> used
>>>>                    ie mark every month and every year once each.
>>>> 
>>>> 
>>>>                    Is there a way to achive the above or does it 
> need
>>>>                    further development?
>>>> 
>>>>                    fmt = mdates.DateFormatter('%Y-%m-%d')
>>>>                    loc =
>>>>                   
> mdates.WeekdayLocator(byweekday=mdates.MONDAY,interval=4)
>>>>                    locator = mdates.YearLocator()
>>>> 
>>>> 
>>>>                If I were trying to do this, I'd cobble something 
> together
>>>>                using by the minor and major formatters.
>>>>                e.g.,...
>>>>                import matplotlib.dates as mdates
>>>>                import matplotlib.pyplot as plt
>>>> 
>>>>                fig, ax = plt.subplots()
>>>> 
>>>>                majorLocs = mdates.MonthLocator(bymonth[1,7])
>>>>                majorFmt = mdates.DateFormatter('%b\n%Y')
>>>> 
>>>>                minorLocs = mdates.MonthLocator(bymonth[1,7])
>>>>                minorFmt = mdates.DateFormatter('%b')
>>>> 
>>>>                ax.xaxis.set_major_locator(majorLocs)
>>>>                ax.xaxis.set_major_formatter(majorFmt)
>>>> 
>>>>                ax.xaxis.set_minor_locator(minorLocs)
>>>>                ax.xaxis.set_minor_formatter(minorFmt)
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
> ------------------------------------------------------------------------------
>>>>  This SF.net email is sponsored by Windows:
>>>> 
>>>>  Build for Windows Store.
>>>> 
>>>>  http://p.sf.net/sfu/windows-dev2dev
>>>> 
>>>> 
>>>> 
>>>>  _______________________________________________
>>>>  Matplotlib-users mailing list
>>>>  Matplotlib-users@lists.sourceforge.net
>>>>  https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>>> 
>>> 
>>> 
>>> 
> ------------------------------------------------------------------------------
>>>  This SF.net email is sponsored by Windows:
>>> 
>>>  Build for Windows Store.
>>> 
>>>  http://p.sf.net/sfu/windows-dev2dev
>>>  _______________________________________________
>>>  Matplotlib-users mailing list
>>>  Matplotlib-users@lists.sourceforge.net
>>>  https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>> 
>>> 
>>> 
> 

------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to