You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
(12) |
Sep
(12) |
Oct
(56) |
Nov
(65) |
Dec
(37) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(59) |
Feb
(78) |
Mar
(153) |
Apr
(205) |
May
(184) |
Jun
(123) |
Jul
(171) |
Aug
(156) |
Sep
(190) |
Oct
(120) |
Nov
(154) |
Dec
(223) |
2005 |
Jan
(184) |
Feb
(267) |
Mar
(214) |
Apr
(286) |
May
(320) |
Jun
(299) |
Jul
(348) |
Aug
(283) |
Sep
(355) |
Oct
(293) |
Nov
(232) |
Dec
(203) |
2006 |
Jan
(352) |
Feb
(358) |
Mar
(403) |
Apr
(313) |
May
(165) |
Jun
(281) |
Jul
(316) |
Aug
(228) |
Sep
(279) |
Oct
(243) |
Nov
(315) |
Dec
(345) |
2007 |
Jan
(260) |
Feb
(323) |
Mar
(340) |
Apr
(319) |
May
(290) |
Jun
(296) |
Jul
(221) |
Aug
(292) |
Sep
(242) |
Oct
(248) |
Nov
(242) |
Dec
(332) |
2008 |
Jan
(312) |
Feb
(359) |
Mar
(454) |
Apr
(287) |
May
(340) |
Jun
(450) |
Jul
(403) |
Aug
(324) |
Sep
(349) |
Oct
(385) |
Nov
(363) |
Dec
(437) |
2009 |
Jan
(500) |
Feb
(301) |
Mar
(409) |
Apr
(486) |
May
(545) |
Jun
(391) |
Jul
(518) |
Aug
(497) |
Sep
(492) |
Oct
(429) |
Nov
(357) |
Dec
(310) |
2010 |
Jan
(371) |
Feb
(657) |
Mar
(519) |
Apr
(432) |
May
(312) |
Jun
(416) |
Jul
(477) |
Aug
(386) |
Sep
(419) |
Oct
(435) |
Nov
(320) |
Dec
(202) |
2011 |
Jan
(321) |
Feb
(413) |
Mar
(299) |
Apr
(215) |
May
(284) |
Jun
(203) |
Jul
(207) |
Aug
(314) |
Sep
(321) |
Oct
(259) |
Nov
(347) |
Dec
(209) |
2012 |
Jan
(322) |
Feb
(414) |
Mar
(377) |
Apr
(179) |
May
(173) |
Jun
(234) |
Jul
(295) |
Aug
(239) |
Sep
(276) |
Oct
(355) |
Nov
(144) |
Dec
(108) |
2013 |
Jan
(170) |
Feb
(89) |
Mar
(204) |
Apr
(133) |
May
(142) |
Jun
(89) |
Jul
(160) |
Aug
(180) |
Sep
(69) |
Oct
(136) |
Nov
(83) |
Dec
(32) |
2014 |
Jan
(71) |
Feb
(90) |
Mar
(161) |
Apr
(117) |
May
(78) |
Jun
(94) |
Jul
(60) |
Aug
(83) |
Sep
(102) |
Oct
(132) |
Nov
(154) |
Dec
(96) |
2015 |
Jan
(45) |
Feb
(138) |
Mar
(176) |
Apr
(132) |
May
(119) |
Jun
(124) |
Jul
(77) |
Aug
(31) |
Sep
(34) |
Oct
(22) |
Nov
(23) |
Dec
(9) |
2016 |
Jan
(26) |
Feb
(17) |
Mar
(10) |
Apr
(8) |
May
(4) |
Jun
(8) |
Jul
(6) |
Aug
(5) |
Sep
(9) |
Oct
(4) |
Nov
|
Dec
|
2017 |
Jan
(5) |
Feb
(7) |
Mar
(1) |
Apr
(5) |
May
|
Jun
(3) |
Jul
(6) |
Aug
(1) |
Sep
|
Oct
(2) |
Nov
(1) |
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2025 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
|
1
(8) |
2
(4) |
3
(2) |
4
(9) |
5
(7) |
6
(3) |
7
(6) |
8
(5) |
9
(2) |
10
(7) |
11
(3) |
12
(9) |
13
(2) |
14
(1) |
15
(2) |
16
(2) |
17
(5) |
18
(5) |
19
(8) |
20
(3) |
21
(1) |
22
(6) |
23
(3) |
24
(3) |
25
(2) |
26
(16) |
27
(1) |
28
(1) |
29
(2) |
30
(5) |
|
|
|
|
I've found the solution. MonthLocator doesn't support the bysetpos argument that rrule can use. Thankfully from my POV the following two lines give me exactly what I want. rule = rrulewrapper(MONTHLY, bymonthday=(firstDate.day, -1), bysetpos=1) majorLocator = RRuleLocator(rule) Just wish I'd read the docs more carefully in the first place to save my time and yours. On 05/04/2013 10:17, Mark Lawrence wrote: > On 04/04/2013 19:00, Mark Lawrence wrote: >> Sadly no :( I want the day of the month that I'm processing *OR* the >> last day. The worst case for this is obviously the 31st of each month. >> The rrule code I've given provides exactly that. When transferred to >> mpl that doesn't work. > > Best seen by changing the lines I gave originally to this. > > start = datetime.date(2013, 4, 5) > until = datetime.date(2014, 4, 5) > dates = rrule(MONTHLY, bymonthday=(5, -1), bysetpos=1, until=until) > > rrule output as follows. > > 2013年04月05日 10:15:24 > 2013年05月05日 10:15:24 > 2013年06月05日 10:15:24 > 2013年07月05日 10:15:24 > 2013年08月05日 10:15:24 > 2013年09月05日 10:15:24 > 2013年10月05日 10:15:24 > 2013年11月05日 10:15:24 > 2013年12月05日 10:15:24 > 2014年01月05日 10:15:24 > 2014年02月05日 10:15:24 > 2014年03月05日 10:15:24 > > Plot attached. > >> >> On 04/04/2013 17:31, Phil Elson wrote: >>> Hi Mark, >>> >>> Thanks for persevering :-) >>> >>> What is it you want to achieve? Is it that you just want the last day of >>> each month as the located value? >>> >>> Changing your locator to: >>> >>> ax.xaxis.set_major_locator(MonthLocator(bymonthday = -1)) >>> >>> Seems to do the trick for me (I've never looked at the mpl date magic, >>> so I can give no guarantees). >>> >>> HTH, >>> >>> >>> On 4 April 2013 17:18, Mark Lawrence >>> <bre...@ya... >>> <mailto:bre...@ya...>> wrote: >>> >>> On 01/04/2013 14:48, Mark Lawrence wrote: >>> > 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. >>> > >>> >>> Anybody? >>> >>> -- >>> If you're using GoogleCrapTM please read this >>> http://wiki.python.org/moin/GoogleGroupsPython. >>> >> -- If you're using GoogleCrapTM please read this http://wiki.python.org/moin/GoogleGroupsPython. Mark Lawrence
hi, every one: I used to use TkAgg as backend on my macbook for matplotlib which was installed from macports. for a while, the plot window was launched in X11. after a latest macports update, it stopped using x11 instead a standalone python window will be used now. I was wondering if there is a way to instruct matplotlib to open plot window in x11? thanks! -- Randy