SourceForge logo
SourceForge logo
Menu

matplotlib-devel — matplotlib developers

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






Showing 9 results of 9

From: Eric F. <ef...@ha...> - 2006年04月07日 20:09:20
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
From: Helge A. <av...@bc...> - 2006年04月07日 18:49:59
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
From: John H. <jdh...@ac...> - 2006年04月07日 17:15:22
>>>>> "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
From: Andrew S. <str...@as...> - 2006年04月07日 16:55:21
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.
From: John H. <jdh...@ac...> - 2006年04月07日 16:36:01
>>>>> "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
From: Darren D. <dd...@co...> - 2006年04月07日 16:14:29
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))
From: John H. <jdh...@ac...> - 2006年04月07日 16:03:58
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
From: Darren D. <dd...@co...> - 2006年04月07日 15:33:46
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):

Showing 9 results of 9

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.
Thanks for helping keep SourceForge clean.
X





Briefly describe the problem (required):
Upload screenshot of ad (required):
Select a file, or drag & drop file here.
Screenshot instructions:

Click URL instructions:
Right-click on the ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Ad destination/click URL:

AltStyle によって変換されたページ (->オリジナル) /