On 29/03/2013 15:49, Mark Lawrence wrote:
> Hi all,
>
>   From http://labix.org/python-dateutil
>
> "To generate a rrule for the use case of "a date on the specified day of
> the month, unless it is beyond the end of month, in which case it will
> be the last day of the month" use the following:
>
> rrule(MONTHLY, bymonthday=(some_day, -1), bysetpos=1)
>
> This will generate a value for every calendar month regardless of the
> day of the month it is started from."
>
> Using bymonthday with MonthLocator gives ticks on the day given and the
> last day of the month, which looks extremely ugly.  Code below demonstrates.
>
> from dateutil.rrule import *
> import datetime
> import matplotlib.pyplot as plt
> from matplotlib.ticker import FormatStrFormatter, MultipleLocator
> from matplotlib.dates import DateFormatter, MonthLocator, DayLocator
>
> start = datetime.date(2013, 3, 29)
> until = datetime.date(2014, 3, 29)
> dates = rrule(MONTHLY, bymonthday=(29, -1), bysetpos=1, until=until)
> for d in dates:print(d)
>
> dates = [start, until]
> values = [0, 1]
> plt.ylabel('Balance')
> plt.grid()
> ax = plt.subplot(111)
> plt.plot_date(dates, values, fmt = 'rx-')
> ax.xaxis.set_major_locator(MonthLocator(bymonthday = (dates[0].day, -1)))
> ax.xaxis.set_major_formatter(DateFormatter('%d/%m/%y'))
> ax.yaxis.set_major_formatter(FormatStrFormatter('£%0.2f'))
> ax.yaxis.set_minor_locator(MultipleLocator(5))
> plt.axis(xmin=dates[0], xmax=dates[-1])
> plt.setp(plt.gca().get_xticklabels(), rotation = 45, fontsize = 10)
> plt.setp(plt.gca().get_yticklabels(), fontsize = 10)
> plt.show()
>

Seems an apt date to realise that I didn't say much :(

Assuming that I'm correct would you like an issue raised on the bug 
tracker?  If not please correct the mistake I've made, presumably in 
reading the docs, which I think are excellent by the way.

-- 
If you're using GoogleCrap™ please read this 
http://wiki.python.org/moin/GoogleGroupsPython.

Mark Lawrence


------------------------------------------------------------------------------
Own the Future-Intel® Level Up Game Demo Contest 2013
Rise to greatness in Intel's independent game demo contest.
Compete for recognition, cash, and the chance to get your game 
on Steam. $5K grand prize plus 10 genre and skill prizes. 
Submit your demo by 6/6/13. http://p.sf.net/sfu/intel_levelupd2d
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to