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
(5) |
2
(2) |
3
|
4
(4) |
5
(1) |
6
(6) |
7
(19) |
8
(4) |
9
|
10
|
11
|
12
|
13
(1) |
14
(3) |
15
(4) |
16
|
17
|
18
|
19
|
20
|
21
|
22
(4) |
23
(1) |
24
(1) |
25
(12) |
26
(7) |
27
(4) |
28
|
29
|
30
|
31
|
|
|
|
|
|
|
On 15 March 2013 17:18, Nathaniel Smith <nj...@po...> wrote: > On 15 Mar 2013 16:50, "Todd" <tod...@gm...> wrote: > > Within the axes constructor, the constructor would run through each of > these modules and store them as attributes with the same name as the > function and the function itself being the contents. At least if me > understanding is correct, this would make them behave as methods (since > they are already set up to take an axes instance as their first argument). > > This won't work as described - the function -> unbound method -> bound > method magic only happens for attributes that aren't found in the object > dict, when lookup falls back on the type dict. You'll want to inject the > functions into the Axes type object, either via a metaclass constructor or > just by hand after the type is created. > You can manually create bound methods using types.MethodType, if necessary. However, I think adding them to the class is preferable. Thomas
On 15 Mar 2013 16:50, "Todd" <tod...@gm...> wrote: > Within the axes constructor, the constructor would run through each of these modules and store them as attributes with the same name as the function and the function itself being the contents. At least if me understanding is correct, this would make them behave as methods (since they are already set up to take an axes instance as their first argument). This won't work as described - the function -> unbound method -> bound method magic only happens for attributes that aren't found in the object dict, when lookup falls back on the type dict. You'll want to inject the functions into the Axes type object, either via a metaclass constructor or just by hand after the type is created. -n
On Thu, Mar 14, 2013 at 1:50 AM, Pierre Barbier de Reuille < pi...@ba...> wrote: > Hello, > > for my own research, I have implemented a function plotting datasets as > violin plots ( http://en.wikipedia.org/wiki/Violin_plot ). I attach an > example output that I am using. > > It is fairly stand-alone, with the expection of a scipy dependency for > computation of the estimated density of probability of the shown. Before > distribution, I will need to document the function and classes associated. > > My question is: what is the process if there a place I can make the code > available for consideration? > > Thanks, > > Pierre, The scipy dependency is unfortunately a deal breaker for matplotlib. I'm not a core dev, but typically you have a work around the dependency in some way (e.g., make the user specify the KDE for each dataset). Also, the statsmodels project has this functionality: http://statsmodels.sourceforge.net/devel/generated/statsmodels.graphics.boxplots.violinplot.html#statsmodels.graphics.boxplots.violinplot Perhaps your ideas and approach could be used to improve their implementation. -paul
Currently, many of the plot types reside in axes. This makes sense from a structural standpoint, since the plots are generally a part of an axes. However, it makes things more difficult from a practical standpoint. First, it means that the axes class is huge, with both core axes-related methods and plotting-related methods. Second, it means that boilerplate.py has to be told explicitly which methods to use, rather than just grabbing everything from a module. Third, it makes it impossible to break the plot types into smaller groups of related plots. The solution, I think, is to move the plots into one or more modules and implement them as functions. They would have the same call signature as now, we would just replace "self" with "ax" or something like that. This would allow you to, theoretically, import and call them without axes, but this would probably not be common. Within the axes constructor, the constructor would run through each of these modules and store them as attributes with the same name as the function and the function itself being the contents. At least if me understanding is correct, this would make them behave as methods (since they are already set up to take an axes instance as their first argument). The axes would just be left with the methods related to manipulating the axes themselves. This would also simplify boilerplate.py, since it would simply need to know the names of the modules rather than the name of every plot type. It would then just run through the functions in the modules (or even just run through all modules in a particular directory). We would probably even be able to do away with that portion of boilerplate.py completely, creating the plotting functions in on-the-fly in pyplot at runtime, but that is a separate issue. What does everyone think of this approach?