You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(33) |
Dec
(20) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(7) |
Feb
(44) |
Mar
(51) |
Apr
(43) |
May
(43) |
Jun
(36) |
Jul
(61) |
Aug
(44) |
Sep
(25) |
Oct
(82) |
Nov
(97) |
Dec
(47) |
2005 |
Jan
(77) |
Feb
(143) |
Mar
(42) |
Apr
(31) |
May
(93) |
Jun
(93) |
Jul
(35) |
Aug
(78) |
Sep
(56) |
Oct
(44) |
Nov
(72) |
Dec
(75) |
2006 |
Jan
(116) |
Feb
(99) |
Mar
(181) |
Apr
(171) |
May
(112) |
Jun
(86) |
Jul
(91) |
Aug
(111) |
Sep
(77) |
Oct
(72) |
Nov
(57) |
Dec
(51) |
2007 |
Jan
(64) |
Feb
(116) |
Mar
(70) |
Apr
(74) |
May
(53) |
Jun
(40) |
Jul
(519) |
Aug
(151) |
Sep
(132) |
Oct
(74) |
Nov
(282) |
Dec
(190) |
2008 |
Jan
(141) |
Feb
(67) |
Mar
(69) |
Apr
(96) |
May
(227) |
Jun
(404) |
Jul
(399) |
Aug
(96) |
Sep
(120) |
Oct
(205) |
Nov
(126) |
Dec
(261) |
2009 |
Jan
(136) |
Feb
(136) |
Mar
(119) |
Apr
(124) |
May
(155) |
Jun
(98) |
Jul
(136) |
Aug
(292) |
Sep
(174) |
Oct
(126) |
Nov
(126) |
Dec
(79) |
2010 |
Jan
(109) |
Feb
(83) |
Mar
(139) |
Apr
(91) |
May
(79) |
Jun
(164) |
Jul
(184) |
Aug
(146) |
Sep
(163) |
Oct
(128) |
Nov
(70) |
Dec
(73) |
2011 |
Jan
(235) |
Feb
(165) |
Mar
(147) |
Apr
(86) |
May
(74) |
Jun
(118) |
Jul
(65) |
Aug
(75) |
Sep
(162) |
Oct
(94) |
Nov
(48) |
Dec
(44) |
2012 |
Jan
(49) |
Feb
(40) |
Mar
(88) |
Apr
(35) |
May
(52) |
Jun
(69) |
Jul
(90) |
Aug
(123) |
Sep
(112) |
Oct
(120) |
Nov
(105) |
Dec
(116) |
2013 |
Jan
(76) |
Feb
(26) |
Mar
(78) |
Apr
(43) |
May
(61) |
Jun
(53) |
Jul
(147) |
Aug
(85) |
Sep
(83) |
Oct
(122) |
Nov
(18) |
Dec
(27) |
2014 |
Jan
(58) |
Feb
(25) |
Mar
(49) |
Apr
(17) |
May
(29) |
Jun
(39) |
Jul
(53) |
Aug
(52) |
Sep
(35) |
Oct
(47) |
Nov
(110) |
Dec
(27) |
2015 |
Jan
(50) |
Feb
(93) |
Mar
(96) |
Apr
(30) |
May
(55) |
Jun
(83) |
Jul
(44) |
Aug
(8) |
Sep
(5) |
Oct
|
Nov
(1) |
Dec
(1) |
2016 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
(3) |
Sep
(1) |
Oct
(3) |
Nov
|
Dec
|
2017 |
Jan
|
Feb
(5) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(3) |
Aug
|
Sep
(7) |
Oct
|
Nov
|
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1
|
2
(1) |
3
(2) |
4
(1) |
5
(4) |
6
|
7
(2) |
8
|
9
(2) |
10
(5) |
11
(2) |
12
(6) |
13
(6) |
14
(1) |
15
(1) |
16
(3) |
17
(1) |
18
|
19
(2) |
20
|
21
|
22
(1) |
23
|
24
(1) |
25
(1) |
26
(2) |
27
|
28
|
29
|
|
|
|
|
|
|
>>>>> "John" == John Gill <jn...@eu...> writes: John> John, Here is another go at the tables. Very nice! Soon we'll be able to write matplotlib_excel :-) John> I've created a cell object (see cell.py). This is just a John> rectangle that has some (optional) text associated with it. A minor comment. Derived artist should implement '_draw', nor 'draw' as the Artist Base implements the draw method, caches the renderer instance and then calls _draw. Ie, you want def _draw(self, renderer, *args, **kwargs): # draw the rectangle # use _draw here since this is a base class Rectangle._draw(self, renderer, *args, **kwargs) # position the text self._set_text_position() self._text.draw(renderer) # use draw here I noticed I made the same mistake in text.Text. The 'draw' method there should be renamed _draw. The motivation here is that you can redraw any artist w/o access to the renderer since the Artist base has stored it and will use it if renderer is None instance.draw() # instance is derived from Artist John> A table is now not much more than just a collection of John> cells. All very nice. Two things I think would make a nice addition. You've provided a great selection of default locations. It shouldn't be too hard to allow 'loc' to be None, and let the user define a bbox (left, bottom, width, height) in 0-1 coords to place the table wherever they want it. Ie, use class Table def __init__(self, axis, loc=None, bbox=None): The other thing that might would be a nice addition is a function to autogenerate tables. Eg, you provide it a list of col header strings, row header strings, color args and an MxN array of cell text strings, and it does the dirty work of actually building the table for you. If col header strings is empty, don't do the row at -1, etc... Thanks! With your permission, I'll include it in the next matplotlib release. JDH
John, Here is another go at the tables. I've created a cell object (see cell.py). This is just a rectangle that has some (optional) text associated with it. A table is now not much more than just a collection of cells. You just create the table and then add all the cells. For each cell you specify the row and column. Negative column numbers are allowed, which is handy for things like row labels. See table_demo3.py for an example of how it works. The demo also includes some stuff to help with coming up with nice (?) pastel shades to use as colours. I've also got an option that allows you to specify that a particular column should have its width worked out automagically based on the text in the cells in the column (again see the demo). axes.py is almost the same as the last version i sent you, the only change is this little bug fix: 304c305 < (iterable(color) and len(color)==3 and len(x)!=3) or --- > (iterable(color) and len(color)==3 and len(left)!=3) or John