Thank you CM,
                  I tried to rotate the labels but only major ticks get rotated 
and when I try with minor ticks as below I get error

minlabels = ax.xaxis.get_minor_ticks()
p.xticks(minlabels,rotation=90)



--> 192     base =  float(dt.toordinal())
    193     if hasattr(dt, 'hour'):
    194         base += (dt.hour/HOURS_PER_DAY + dt.minute/MINUTES_PER_DAY +

AttributeError: 'XTick' object has no attribute 'toordinal'

From: C M <cmpyt...@gmail.com>

To: matplotlib-users@lists.sourceforge.net 
>Sent: Tuesday, 11 June 2013 6:41 AM
>Subject: Re: [Matplotlib-users] time axis format
> 
>
>
>
>
>
>On Mon, Jun 10, 2013 at 8:08 PM, Sudheer Joseph <sudheer.jos...@yahoo.com> 
>wrote:
>
>
>>Thank you,
>>So there is no way to get J F M A etc with out reducing font size?  
>
>I bet there a number of ways.  Offhand I don't know the one that, once I hear 
>about it, I will say, "D'oh, that's so easy" but I bet it exists.  But you 
>could modify the DateFormatter class.  It is set to return a strftime result 
>string.  Here is the function:
>
>def __call__(self, x, pos=0):
>        if x==0:
>            raise ValueError('DateFormatter found a value of x=0, which is an 
>illegal date.  This usually occurs because you have not informed the axis that 
>it is plotting dates, eg with ax.xaxis_date()')
>        dt = num2date(x, self.tz)
>        return self.strftime(dt, self.fmt)
>
>All you would have to do is change that last line to:
>
>        return self.strftime(dt, self.fmt)[0]
>
>To slice just the first letter of the month.
>
>So you could subclass DateFormatter to do this, since you probably don't want 
>to modify the actual DateFormatter class always in this way.
>
>Also, aside from the J F M A approach, you could just rotate the month's name, 
>and that will reduce crowding while keeping the month a little clearer (I 
>think "JAN FEB MAR APR" is more intuitive and pleasant to read on a graph).
>
>Che
>
>
> 
>We often need to make presentation in front of senior people who insist for 
>bigger fonts.
>>With best regards,
>>Sudheer 
>>
>>
>>
>>________________________________
>> 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> 
>>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;sudheer.jos...@yahoo.com
>>>Web- http://oppamthadathil.tripod.com
>>>***************************************************************
>>>
>>>
>>>>________________________________
>>>> From: Sudheer Joseph <sudheer.jos...@yahoo.com>
>>>>To: Paul Hobson <pmhob...@gmail.com> 
>>>>Cc: "matplotlib-users@lists.sourceforge.net" 
>>>><matplotlib-users@lists.sourceforge.net> 
>>>>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;sudheer.jos...@yahoo.com
>>>>Web- http://oppamthadathil.tripod.com
>>>>***************************************************************
>>>>
>>>>
>>>>>________________________________
>>>>> From: Paul Hobson <pmhob...@gmail.com>
>>>>>To: Sudheer Joseph <sudheer.jos...@yahoo.com> 
>>>>>Cc: "matplotlib-users@lists.sourceforge.net" 
>>>>><matplotlib-users@lists.sourceforge.net> 
>>>>>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> 
>>>>>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