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
(10) |
2
(4) |
3
(11) |
4
(4) |
5
(6) |
6
(8) |
7
(7) |
8
(9) |
9
(6) |
10
|
11
|
12
(7) |
13
(6) |
14
(18) |
15
(13) |
16
(7) |
17
(15) |
18
(1) |
19
|
20
(1) |
21
(2) |
22
(5) |
23
(3) |
24
(4) |
25
(1) |
26
|
27
(8) |
28
(2) |
29
(5) |
30
|
|
|
On 09/05/2010 11:06 AM, Benjamin Root wrote: > On Sun, Sep 5, 2010 at 2:53 PM, Eric Firing <ef...@ha... > <mailto:ef...@ha...>> wrote: > > On 09/04/2010 05:50 PM, Benjamin Root wrote: > > On Sat, Sep 4, 2010 at 3:20 AM, Jae-Joon Lee > <lee...@gm... <mailto:lee...@gm...> > > <mailto:lee...@gm... <mailto:lee...@gm...>>> wrote: > > > > On Fri, Sep 3, 2010 at 4:14 AM, Benjamin Root > <ben...@ou... <mailto:ben...@ou...> > > <mailto:ben...@ou... <mailto:ben...@ou...>>> wrote: > > > I think there are multiple issues here. Primarially, there is > > the issue > > > that Axes3D is attaching itself to a figure. However, in the > > interest of > > > backwards-compatibility, we can't just fix this outright. There > > is also the > > > issue that there are multiple places in the Figure class that are > > adding > > > axes to the figure object. Ideally, shouldn't we have a single > > function > > > that performs proper checks and adds an axes? Then that function > > should be > > > used in the other class functions to perform this action. In my > > opinion, > > > there is too much duplicated code here. > > > > While I agree that we need to do something with the > duplicated code, I > > think our priority should be fixing a bug. > > The easiest solution (that is backward compatible) seems to be > > registering an Axes class that does not add itself to the figure. > > For example, > > > > class Axes3DBase(Axes): > > # All of the original Axes3D stuff, but do not add itself > to the > > figure during the initialization > > > > class Axes3D(Axes3DBase): > > def __init__(self, ...) > > Axes3DBase.__init__(self, ...) > > self.fig.add_axes(self) > > > > # And register Axes3DBase instead of Axes3D > > import matplotlib.projections as proj > > proj.projection_registry.register(Axes3DBase) > > > > Regards, > > > > -JJ > > > > > > > > Hmm, that actually would solve the problem at hand. What I am > concerned > > about is having others use this as a way to solve other issues with > > Axes3D that we then can't get rid of it. > > > > My vote is that your approach be use as a last resort. I doubt > this bug > > is time-critical, and I rather see the problems in Figure be > correctly > > addressed. > > I agree. > > I went ahead and committed a fix to the trunk, svn 8681, and closed the > ticket. Please review the changeset. It can always be reverted or > modified as needed. The changeset solves the Axes3D problem by blocking > double-addition of an Axes to a Figure. It does this entirely in > figure.py, plus a small change in artist.py. It consolidates the > tracking of Axes instances, eliminating _seen and turning .axes into a > property. Unfortunately, it causes a net increase in LOC. > > There is still much duplication between add_axes and add_subplot which I > did not try to address at all. I don't know whether it is worth trying > to factor out the commonality, or whether that would reduce readability. > > Eric > > > Eric, > > Looking through the changeset, everything seems fine to me. My only > question is that it seemed, to me at least, that it was possible to add > an axes to a figure without adding a key. Was this an invalid operation > or not? If not, how does the AxesStack handle axes without a key? Ben, I think that it aught not be possible to add an axes without a key--but it looks like it is possible at present via add_subplot. I will try to fix that. Eric > > Thanks, > Ben Root >
Hi Jeff, On Sun, Sep 5, 2010 at 10:18 AM, Jeff Whitaker <js...@fa...> wrote: > > Fernando: I've got ipython-newkernal ipythonqt working on my mac - how do I > tell it to switch between external plot windows and inline plots? External > windows seems to be the default... if you start it with --rich, it will use inline plots. I'll try to improve the code so that *both* are possible simultaneously: interactive external windows for zooming and panning, and a function loaded into the user's namespace, similar to show(), that would instead embed them inline. Cheers, f
On Sun, Sep 5, 2010 at 2:53 PM, Eric Firing <ef...@ha...> wrote: > On 09/04/2010 05:50 PM, Benjamin Root wrote: > > On Sat, Sep 4, 2010 at 3:20 AM, Jae-Joon Lee <lee...@gm... > > <mailto:lee...@gm...>> wrote: > > > > On Fri, Sep 3, 2010 at 4:14 AM, Benjamin Root <ben...@ou... > > <mailto:ben...@ou...>> wrote: > > > I think there are multiple issues here. Primarially, there is > > the issue > > > that Axes3D is attaching itself to a figure. However, in the > > interest of > > > backwards-compatibility, we can't just fix this outright. There > > is also the > > > issue that there are multiple places in the Figure class that are > > adding > > > axes to the figure object. Ideally, shouldn't we have a single > > function > > > that performs proper checks and adds an axes? Then that function > > should be > > > used in the other class functions to perform this action. In my > > opinion, > > > there is too much duplicated code here. > > > > While I agree that we need to do something with the duplicated code, > I > > think our priority should be fixing a bug. > > The easiest solution (that is backward compatible) seems to be > > registering an Axes class that does not add itself to the figure. > > For example, > > > > class Axes3DBase(Axes): > > # All of the original Axes3D stuff, but do not add itself to the > > figure during the initialization > > > > class Axes3D(Axes3DBase): > > def __init__(self, ...) > > Axes3DBase.__init__(self, ...) > > self.fig.add_axes(self) > > > > # And register Axes3DBase instead of Axes3D > > import matplotlib.projections as proj > > proj.projection_registry.register(Axes3DBase) > > > > Regards, > > > > -JJ > > > > > > > > Hmm, that actually would solve the problem at hand. What I am concerned > > about is having others use this as a way to solve other issues with > > Axes3D that we then can't get rid of it. > > > > My vote is that your approach be use as a last resort. I doubt this bug > > is time-critical, and I rather see the problems in Figure be correctly > > addressed. > > I agree. > > I went ahead and committed a fix to the trunk, svn 8681, and closed the > ticket. Please review the changeset. It can always be reverted or > modified as needed. The changeset solves the Axes3D problem by blocking > double-addition of an Axes to a Figure. It does this entirely in > figure.py, plus a small change in artist.py. It consolidates the > tracking of Axes instances, eliminating _seen and turning .axes into a > property. Unfortunately, it causes a net increase in LOC. > > There is still much duplication between add_axes and add_subplot which I > did not try to address at all. I don't know whether it is worth trying > to factor out the commonality, or whether that would reduce readability. > > Eric > > Eric, Looking through the changeset, everything seems fine to me. My only question is that it seemed, to me at least, that it was possible to add an axes to a figure without adding a key. Was this an invalid operation or not? If not, how does the AxesStack handle axes without a key? Thanks, Ben Root
On 09/04/2010 05:50 PM, Benjamin Root wrote: > On Sat, Sep 4, 2010 at 3:20 AM, Jae-Joon Lee <lee...@gm... > <mailto:lee...@gm...>> wrote: > > On Fri, Sep 3, 2010 at 4:14 AM, Benjamin Root <ben...@ou... > <mailto:ben...@ou...>> wrote: > > I think there are multiple issues here. Primarially, there is > the issue > > that Axes3D is attaching itself to a figure. However, in the > interest of > > backwards-compatibility, we can't just fix this outright. There > is also the > > issue that there are multiple places in the Figure class that are > adding > > axes to the figure object. Ideally, shouldn't we have a single > function > > that performs proper checks and adds an axes? Then that function > should be > > used in the other class functions to perform this action. In my > opinion, > > there is too much duplicated code here. > > While I agree that we need to do something with the duplicated code, I > think our priority should be fixing a bug. > The easiest solution (that is backward compatible) seems to be > registering an Axes class that does not add itself to the figure. > For example, > > class Axes3DBase(Axes): > # All of the original Axes3D stuff, but do not add itself to the > figure during the initialization > > class Axes3D(Axes3DBase): > def __init__(self, ...) > Axes3DBase.__init__(self, ...) > self.fig.add_axes(self) > > # And register Axes3DBase instead of Axes3D > import matplotlib.projections as proj > proj.projection_registry.register(Axes3DBase) > > Regards, > > -JJ > > > > Hmm, that actually would solve the problem at hand. What I am concerned > about is having others use this as a way to solve other issues with > Axes3D that we then can't get rid of it. > > My vote is that your approach be use as a last resort. I doubt this bug > is time-critical, and I rather see the problems in Figure be correctly > addressed. I agree. I went ahead and committed a fix to the trunk, svn 8681, and closed the ticket. Please review the changeset. It can always be reverted or modified as needed. The changeset solves the Axes3D problem by blocking double-addition of an Axes to a Figure. It does this entirely in figure.py, plus a small change in artist.py. It consolidates the tracking of Axes instances, eliminating _seen and turning .axes into a property. Unfortunately, it causes a net increase in LOC. There is still much duplication between add_axes and add_subplot which I did not try to address at all. I don't know whether it is worth trying to factor out the commonality, or whether that would reduce readability. Eric > > Ben Root > > > > ------------------------------------------------------------------------------ > This SF.net Dev2Dev email is sponsored by: > > Show off your parallel programming skills. > Enter the Intel(R) Threading Challenge 2010. > http://p.sf.net/sfu/intel-thread-sfd > > > > _______________________________________________ > Matplotlib-devel mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
On 8/30/10 1:21 AM, Fernando Perez wrote: > Hi Eric, > > On Sat, Aug 28, 2010 at 4:27 PM, Eric Firing<ef...@ha...> wrote: >> Impressive--but I don't think I understand why one would want plots rendered >> inline rather than in separate windows. Fernando: I've got ipython-newkernal ipythonqt working on my mac - how do I tell it to switch between external plot windows and inline plots? External windows seems to be the default... -Jeff
On Sat, Sep 4, 2010 at 3:20 AM, Jae-Joon Lee <lee...@gm...> wrote: > On Fri, Sep 3, 2010 at 4:14 AM, Benjamin Root <ben...@ou...> wrote: > > I think there are multiple issues here. Primarially, there is the issue > > that Axes3D is attaching itself to a figure. However, in the interest of > > backwards-compatibility, we can't just fix this outright. There is also > the > > issue that there are multiple places in the Figure class that are adding > > axes to the figure object. Ideally, shouldn't we have a single function > > that performs proper checks and adds an axes? Then that function should > be > > used in the other class functions to perform this action. In my opinion, > > there is too much duplicated code here. > > While I agree that we need to do something with the duplicated code, I > think our priority should be fixing a bug. > The easiest solution (that is backward compatible) seems to be > registering an Axes class that does not add itself to the figure. > For example, > > class Axes3DBase(Axes): > # All of the original Axes3D stuff, but do not add itself to the > figure during the initialization > > class Axes3D(Axes3DBase): > def __init__(self, ...) > Axes3DBase.__init__(self, ...) > self.fig.add_axes(self) > > # And register Axes3DBase instead of Axes3D > import matplotlib.projections as proj > proj.projection_registry.register(Axes3DBase) > > Regards, > > -JJ > Hmm, that actually would solve the problem at hand. What I am concerned about is having others use this as a way to solve other issues with Axes3D that we then can't get rid of it. My vote is that your approach be use as a last resort. I doubt this bug is time-critical, and I rather see the problems in Figure be correctly addressed. Ben Root