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
(1) |
2
|
3
(12) |
4
(12) |
5
(22) |
6
(19) |
7
(9) |
8
|
9
|
10
(5) |
11
(1) |
12
(16) |
13
(8) |
14
(2) |
15
(1) |
16
(2) |
17
|
18
(10) |
19
(14) |
20
(9) |
21
(4) |
22
|
23
(2) |
24
(6) |
25
(2) |
26
(7) |
27
(7) |
28
|
29
|
30
|
|
|
|
|
|
|
Helge Avlesen wrote: > Hi, > regarding the support for NaN's; are there plans to use that functionality > instead of masked arrays in matplotlib routines like pcolor, contour etc.? > solid support for Nan's ala matlab would be good imo., as I always > seem to run into problems with array operations after some array has > been masked. > > Helge I think we will want to have solid support for NaNs *and* masked arrays. Note that NaNs are restricted to floating point; masked arrays are much more general, and have some other advantages. (Coming from Matlab, I started out as a fan of NaNs, but I have come to appreciate the masked array approach. The more tightly it becomes integrated in numpy, the better.) I have not thought through the implementation yet. I have been thinking that the time to make big changes in this area will be when we can drop Numeric and numarray support in favor of numpy. Then we will only have to keep track of a single masked array implementation, and a single set of NaN-handling facilities. As a possibly interim step, it would not be hard to convert arrays with NaNs to masked arrays at the argument processing stage of functions that already handle masked arrays. If numerix.isnan now works for all supported numeric flavors, then I could do this when I get to a suitable point in my axes.py reorganization. Alternatively, it can be done externally be the user. There is ongoing work on the numpy side to reduce--eliminate, I hope--problems such as you refer to, where things go haywire when you use a masked array. Eric
On 4/7/06, Darren Dale <dd...@co...> wrote: > On Friday 07 April 2006 12:00, John Hunter wrote: > > Is this expected to work with a more recent numarray? Is there a fix > > that will make it work with the older versions? > > I wrote an isnan function for numeric-brand numerix which could also go i= n > _na_imports: > > def isnan(a): > """y =3D isnan(x) returns True where x is Not-A-Number""" > return reshape(array([_isnan(i) for i in ravel(a)],'b'), shape(a)) Hi, regarding the support for NaN's; are there plans to use that functionality instead of masked arrays in matplotlib routines like pcolor, contour etc.? solid support for Nan's ala matlab would be good imo., as I always seem to run into problems with array operations after some array has been masked. Helge
>>>>> "Andrew" == Andrew Straw <str...@as...> writes: Andrew> I'm pretty sure numarray.ieeespecial has defined an Andrew> isnan() function for quite some time (certainly by Andrew> numarray 1.3). I thought Darren's isnan() function Andrew> wouldn't be necessary except for Numeric. Yep, this is available on 1.3.3. Using that instead. Changes in svn. JDH
John Hunter wrote: >>>>>>"Darren" == Darren Dale <dd...@co...> writes: >>>>>> >>>>>> > > Darren> def isnan(a): """y = isnan(x) returns True where x is > Darren> Not-A-Number""" return reshape(array([_isnan(i) for i in > Darren> ravel(a)],'b'), shape(a)) > >OK, thanks. I committed that. > > I'm pretty sure numarray.ieeespecial has defined an isnan() function for quite some time (certainly by numarray 1.3). I thought Darren's isnan() function wouldn't be necessary except for Numeric.
>>>>> "Darren" == Darren Dale <dd...@co...> writes: Darren> def isnan(a): """y = isnan(x) returns True where x is Darren> Not-A-Number""" return reshape(array([_isnan(i) for i in Darren> ravel(a)],'b'), shape(a)) OK, thanks. I committed that. JDH
On Friday 07 April 2006 12:00, John Hunter wrote: > I just noticed that isnan handling is breaking backend_ps with > numarrray 1.3.3 > > In [1]: import matplotlib; matplotlib.rcParams['numerix'] = 'numarray' > In [2]: import numarray > In [3]: numarray.__version__ > Out[3]: '1.3.3' > In [4]: from matplotlib.numerix import isnan > ------------------------------------------------------------ > Traceback (most recent call last): > File "<ipython console>", line 1, in ? > ImportError: cannot import name isnan > > Is this expected to work with a more recent numarray? Is there a fix > that will make it work with the older versions? I wrote an isnan function for numeric-brand numerix which could also go in _na_imports: def isnan(a): """y = isnan(x) returns True where x is Not-A-Number""" return reshape(array([_isnan(i) for i in ravel(a)],'b'), shape(a))
I just noticed that isnan handling is breaking backend_ps with numarrray 1.3.3 In [1]: import matplotlib; matplotlib.rcParams['numerix'] = 'numarray' In [2]: import numarray In [3]: numarray.__version__ Out[3]: '1.3.3' In [4]: from matplotlib.numerix import isnan ------------------------------------------------------------ Traceback (most recent call last): File "<ipython console>", line 1, in ? ImportError: cannot import name isnan Is this expected to work with a more recent numarray? Is there a fix that will make it work with the older versions? JDH
On Thursday 06 April 2006 17:47, Christopher Barker wrote: > Darren Dale wrote: > > On Wednesday 05 April 2006 18:42, Christopher Barker wrote: > >> Why not have a TexTempDir attribute stored somewhere, and write > >> everything there? > > > > That's exactly what I'm trying to do. Or maybe I dont understand what you > > are suggesting. > > I'm confused about what "working directory" you're talking about. I > > thought you meant Python's working directory: > >>> os.getcwd() > > However, if you mean a sub-process's working directory: > > os.system("cd temp; ls") Thank you for that suggestion, it turned out to be an acceptable solution. Changes in svn 2274. I hope the recent lack of bug reports concerning the usetex option is an indication that the current implementation is approaching stability. I dont know if I have mentioned it here, but I think I worked out the clipping problems we were having with ghostscript-7.07. At any rate, I would appreciate some testing now, since I changed the way subprocesses are handled and where temporary files are created. Darren
As a follow-up to my message on the users list dated 23 March, here are some patches for one of you keen developers. Here's the message to save you looking it up: > I've found the source of this figimage problem. In _backend_agg.cpp > RendererAgg::draw_image is expecting 4 arguments and is being passed > 5 by the FigureImage draw method in image.py The offending line is: > > renderer.draw_image(self.ox, self.oy, im, self.origin, > self.figure.bbox) > > Changing this to > > renderer.draw_image(self.ox, self.oy, im, self.figure.bbox) > > solved the problem for me. > > I checked and found that the RendererAgg draw_image() virtual method > has 5 arguments, which seems to be the source of the problem, so > either this needs changing or the backend code does. > > _draw_image() in backend_agg.py makes the call with 3 arguments, so > this needs fixing too. > > The draw_image() method in backend_emf.py has a stub override with 5 > arguments, so this may need changing too, although it isn't causing > harm yet. I'm not sure all of these are real problems because I > didn't try too hard to understand how the backends work. I don't really know what to exercise to test these out. I'm not familiar enough with all the interactions. The patches deal directly with my above findings, but could well break something. With those caveats, here are the patches (also attached). The one which absolutely needs fixing is image.py. The others are what I'm guessing needs to be done to clean up the slight messiness I found. Gary R. --- image.py 2006年04月07日 22:02:08.000000000 +1000 +++ new_image.py 2006年04月07日 23:02:36.000000000 +1000 @@ -422,7 +422,7 @@ def draw(self, renderer, *args, **kwargs): if not self.get_visible(): return im = self.make_image() - renderer.draw_image(self.ox, self.oy, im, self.origin, self.figure.bbox) + renderer.draw_image(self.ox, self.oy, im, self.figure.bbox) def write_png(self, fname): """Write the image to png file with fname""" --- backend_emf.py 2006年04月07日 22:51:12.000000000 +1000 +++ new_backend_emf.py 2006年04月07日 23:18:02.000000000 +1000 @@ -179,15 +179,11 @@ self.emf.Arc(int(x-hw),int(self.height-(y-hh)),int(x+hw),int(self.height-(y+hh)),int(x+math.cos(angle1*math.pi/180.0)*hw),int(self.height-(y+math.sin(angle1*math.pi/180.0)*hh)),int(x+math.cos(angle2*math.pi/180.0)*hw),int(self.height-(y+math.sin(angle2*math.pi/180.0)*hh))) - def draw_image(self, x, y, im, origin, bbox): + def draw_image(self, x, y, im, bbox): """ Draw the Image instance into the current axes; x is the distance in pixels from the left hand side of the canvas. y is - the distance from the origin. That is, if origin is upper, y - is the distance from top. If origin is lower, y is the - distance from bottom - - origin is 'upper' or 'lower' + the distance from the origin. bbox is a matplotlib.transforms.BBox instance for clipping, or None --- backend_agg.py 2006年04月07日 22:51:38.000000000 +1000 +++ new_backend_agg.py 2006年04月07日 23:04:00.000000000 +1000 @@ -155,14 +155,14 @@ gcEdge, rgbFace, x, y, width/2, height/2) # ellipse takes radius - def _draw_image(self, x, y, im): + def _draw_image(self, x, y, im, bbox): """ Draw the Image instance into the current axes; x, y is the upper left hand corner of the image """ if __debug__: verbose.report('RendererAgg.draw_image', 'debug-annoying') #self._renderer.draw_image(int(x), int(self.height-y), im) - self._renderer.draw_image(int(x), int(y), im) + self._renderer.draw_image(int(x), int(y), im, bbox) def draw_line(self, gc, x1, y1, x2, y2): """ --- backend_agg2.py 2006年04月07日 22:56:56.000000000 +1000 +++ new_backend_agg2.py 2006年04月07日 23:04:20.000000000 +1000 @@ -90,7 +90,7 @@ def draw_arc(self, gcEdge, rgbFace, x, y, width, height, angle1, angle2): pass - def draw_image(self, x, y, im, origin, bbox): + def draw_image(self, x, y, im, bbox): pass def draw_line(self, gc, x1, y1, x2, y2):