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
(4)
3
(1)
4
(1)
5
(8)
6
(3)
7
(6)
8
(1)
9
(2)
10
(3)
11
12
(9)
13
14
(11)
15
16
17
18
19
(11)
20
(6)
21
22
23
(7)
24
(1)
25
26
27
28
29
30
31

Showing 8 results of 8

From: <da...@eg...> - 2005年12月05日 23:25:53
On Dec 2, 2005, at 3:43 PM, Eric Firing wrote:
> I don't understand the rationale for defining these functions, and in 
> particular the "resize" function that is causing problems. It looks 
> to me like all three numeric packages include both resize functions 
> and resize methods, with the latter differing in that they work in 
> place and require contiguous arrays. What your patch is doing is 
> removing access to the resize function, so there is no way to resize a 
> noncontiguous array.
I didn't realize such a function existed, and
was mostly following Travis' "list of necessary
changes" (in his book, Section 2.6.1). Of course
given that the right function exists from a top-
level import, that would be preferred over the
customization that I was doing.
I apologize if I gave the impression that the
patch was meant to be complete/correct/ideal.
It was mostly intended as a preliminary query
to see if there was any interest in pursuing
the specific backend numeric library approach,
since I had seen the discussion on a unified
build (which I didn't understand well enough
to implement.)
John Hunter wrote:
> A number of the symbols in numerix.mlab that Daishi originally defined
> were from various scipy (non-core) proper modules and I could not find
> these in the core. Will scipy core not be providing the equivalent of
> MLab.py?
I did originally attempt to build vs. just
scipy_core, but failed for the same reason.
I was impatient to get things working for
my own purposes (scratching my own itch
and all that), so didn't put much effort
into pursuing this aspect further - but I
should have mentioned it in the original
message; sorry about that.
I'm happy to see that the patch was useful
enough to incorporate into the tree and
improved upon.
Eric Firing wrote:
> Here is another anomaly that I needed to work around:
>
> >>> bb = scipy.array([1.1,2,2,3.3])
> >>> 1.1 in bb
> Traceback (most recent call last):
> File "<stdin>", line 1, in ?
> ValueError: The truth value of an array with more than one element is 
> ambiguous. Use a.any() or a.all()
> >>> import numarray
> >>> nn = numarray.array([1.1,2.2,3.3])
> >>> 1.1 in nn
> True
>
> x in A behaves completely differently if A is a scipy ndarray than if 
> it is a numarray array. This seems to me like a bug in scipy; the 
> num* behavior is certainly easier to use, in that it preserves the 
> list-like behavior when used in a list-like context.
I hit this also. Another behavioral difference
that pops up is:
---
In [3]: if scipy.arange(10) == None:
 ...: pass
 ...:
------------------------------------------------------------------------ 
---
exceptions.ValueError Traceback (most 
recent call last)
/usr/local/python/python_2005年11月10日/<ipython console>
ValueError: The truth value of an array with more than one element is 
ambiguous. Use a.any() or a.all()
In [4]:
---
versus:
---
In [7]: if Numeric.arange(10) == None:
 ...: pass
 ...:
In [8]:
---
This was the reason for, e.g., this part of the patch:
Index: lib/matplotlib/contour.py
===================================================================
RCS file: /cvsroot/matplotlib/matplotlib/lib/matplotlib/contour.py,v
retrieving revision 1.16
diff -r1.16 contour.py
---
659c661
< if linewidths == None:
---
 > if linewidths is None:
---
(In this case I believe the new scipy approach
is less ambiguous and therefore better - the
intended semantics AFAICT in contour.py is for
'is', not '==' anyways.).
Thanks,
d
From: Travis E. O. <oli...@ie...> - 2005年12月05日 20:42:09
Eric Firing wrote:
I replied privately to Eric by mistake.
> John, Travis,
> 
> Now I find a genuine difference between scipy and num* that is causing a 
> problem: for a masked array, say "A", A.mask is a property in scipy but 
> a function in num*. I can work around it, but it seems like an anomaly 
> in scipy. What it means is that in matplotlib we can't use A.mask or 
> A.mask(), but must instead use the ma.getmask() function.
Paul is the author of masked arrays. He implemented the new behavior. 
I think mask as a property/attribute is right.
> 
> 
> Here is another anomaly that I needed to work around:
> 
> >>> bb = scipy.array([1.1,2,2,3.3])
> >>> 1.1 in bb
> Traceback (most recent call last):
> File "<stdin>", line 1, in ?
> ValueError: The truth value of an array with more than one element is 
> ambiguous. Use a.any() or a.all()
> >>> import numarray
> >>> nn = numarray.array([1.1,2.2,3.3])
> >>> 1.1 in nn
> True
This is a bug in scipy core that has been fixed for several weeks. It 
came about as an unintentional side-effect of raising an error for 
truth-testing of arrays.
Notice:
 >>> 1.1 in scipy.array([1.1,2.2,3.3])
True
-Travis
From: Eric F. <ef...@ha...> - 2005年12月05日 19:07:47
John, Travis,
Now I find a genuine difference between scipy and num* that is causing a 
problem: for a masked array, say "A", A.mask is a property in scipy but 
a function in num*. I can work around it, but it seems like an anomaly 
in scipy. What it means is that in matplotlib we can't use A.mask or 
A.mask(), but must instead use the ma.getmask() function.
Here is another anomaly that I needed to work around:
 >>> bb = scipy.array([1.1,2,2,3.3])
 >>> 1.1 in bb
Traceback (most recent call last):
 File "<stdin>", line 1, in ?
ValueError: The truth value of an array with more than one element is 
ambiguous. Use a.any() or a.all()
 >>> import numarray
 >>> nn = numarray.array([1.1,2.2,3.3])
 >>> 1.1 in nn
True
x in A behaves completely differently if A is a scipy ndarray than if it 
is a numarray array. This seems to me like a bug in scipy; the num* 
behavior is certainly easier to use, in that it preserves the list-like 
behavior when used in a list-like context.
In any case, I have committed changes to make contour work; but 
examples/masked_demo.py still doesn't work with scipy. It generates no 
exception, but the plot is completely wrong. I can't spend any more 
time on this right now.
Eric
From: Eric F. <ef...@ha...> - 2005年12月05日 17:58:46
John,
I committed fixes to several files; looks OK now, at least for 
examples/image_masked.py.
Eric
John Hunter wrote:
>>>>>>"Eric" == Eric Firing <ef...@ha...> writes:
> 
> 
> Eric> John, It looks like you are referring to bugs in the
> Eric> Colormap.__call__ method that were introduced when I added
> Eric> support for masked values out-of-bounds values. I have
> Eric> committed a change that fixes the bugs I could find there
> Eric> (as tested with examples/image_masked.py), so that the
> Eric> colormap call produces exactly the same output with scipy as
> Eric> with Numeric or numarray--the same rgba values.
> Eric> Unfortunately, although that demo now runs with all three,
> Eric> it produces different plots. It appears that somewhere else
> Eric> in the code--I'm pretty sure it is not within colors.py--the
> Eric> floating point rgba values are getting rounded or, more
> Eric> likely, truncated, when using scipy.
> 
> Hey Eric,
> 
> Thanks for taking a look at this. The only other logical place for a
> problem to reside is in colors.normalize, since the pipleline is
> 
> rgba = cmap(normalize(X))
> 
> The relevant bit of code is here -- if you or anyone else sees an
> obvious candidate that might cause this truncation, let me know.... 
> 
> 
> class normalize:
> def __init__(self, vmin=None, vmax=None, clip = True):
> """
> Normalize a given value to the 0-1 range
> 
> If vmin or vmax is not given, they are taken from the input's
> minimum and maximum value respectively. If clip is True and
> the given value falls outside the range, the returned value
> will be 0 or 1, whichever is closer. Returns 0 if vmin==vmax.
> Works with scalars or arrays, including masked arrays. If clip
> is True, masked values on input will be set to 1 on output; if
> clip is False, the mask will be propagated to the output.
> """
> self.vmin = vmin
> self.vmax = vmax
> self.clip = clip
> 
> def __call__(self, value):
> 
> if isinstance(value, (int, float)):
> vtype = 'scalar'
> val = ma.array([value])
> else:
> vtype = 'array'
> val = ma.asarray(value)
> 
> self.autoscale(val)
> vmin, vmax = self.vmin, self.vmax
> if vmin > vmax:
> raise ValueError("minvalue must be less than or equal to maxvalue")
> elif vmin==vmax:
> return 0.*value
> else:
> if self.clip:
> val = clip(val.filled(vmax), vmin, vmax)
> result = (1.0/(vmax-vmin))*(val-vmin)
> if vtype == 'scalar':
> result = result[0]
> return result
> 
> def autoscale(self, A):
> if not self.scaled():
> if self.vmin is None: self.vmin = ma.minimum(A)
> if self.vmax is None: self.vmax = ma.maximum(A)
> 
> def scaled(self):
> 'return true if vmin and vmax set'
> return (self.vmin is not None and self.vmax is not None)
> 
> 
> JDH
From: Eric F. <ef...@ha...> - 2005年12月05日 17:35:06
John,
The problem is that a bunch of scipy support is missing. I think I have 
most of it fixed; I will do a little more, commit, and send another 
message in a few minutes.
Eric
John Hunter wrote:
>>>>>>"Eric" == Eric Firing <ef...@ha...> writes:
> 
> 
> Eric> John, It looks like you are referring to bugs in the
> Eric> Colormap.__call__ method that were introduced when I added
> Eric> support for masked values out-of-bounds values. I have
> Eric> committed a change that fixes the bugs I could find there
> Eric> (as tested with examples/image_masked.py), so that the
> Eric> colormap call produces exactly the same output with scipy as
> Eric> with Numeric or numarray--the same rgba values.
> Eric> Unfortunately, although that demo now runs with all three,
> Eric> it produces different plots. It appears that somewhere else
> Eric> in the code--I'm pretty sure it is not within colors.py--the
> Eric> floating point rgba values are getting rounded or, more
> Eric> likely, truncated, when using scipy.
> 
> Hey Eric,
> 
> Thanks for taking a look at this. The only other logical place for a
> problem to reside is in colors.normalize, since the pipleline is
> 
> rgba = cmap(normalize(X))
> 
> The relevant bit of code is here -- if you or anyone else sees an
> obvious candidate that might cause this truncation, let me know.... 
> 
> 
> class normalize:
> def __init__(self, vmin=None, vmax=None, clip = True):
> """
> Normalize a given value to the 0-1 range
> 
> If vmin or vmax is not given, they are taken from the input's
> minimum and maximum value respectively. If clip is True and
> the given value falls outside the range, the returned value
> will be 0 or 1, whichever is closer. Returns 0 if vmin==vmax.
> Works with scalars or arrays, including masked arrays. If clip
> is True, masked values on input will be set to 1 on output; if
> clip is False, the mask will be propagated to the output.
> """
> self.vmin = vmin
> self.vmax = vmax
> self.clip = clip
> 
> def __call__(self, value):
> 
> if isinstance(value, (int, float)):
> vtype = 'scalar'
> val = ma.array([value])
> else:
> vtype = 'array'
> val = ma.asarray(value)
> 
> self.autoscale(val)
> vmin, vmax = self.vmin, self.vmax
> if vmin > vmax:
> raise ValueError("minvalue must be less than or equal to maxvalue")
> elif vmin==vmax:
> return 0.*value
> else:
> if self.clip:
> val = clip(val.filled(vmax), vmin, vmax)
> result = (1.0/(vmax-vmin))*(val-vmin)
> if vtype == 'scalar':
> result = result[0]
> return result
> 
> def autoscale(self, A):
> if not self.scaled():
> if self.vmin is None: self.vmin = ma.minimum(A)
> if self.vmax is None: self.vmax = ma.maximum(A)
> 
> def scaled(self):
> 'return true if vmin and vmax set'
> return (self.vmin is not None and self.vmax is not None)
> 
> 
> JDH
From: John H. <jdh...@ac...> - 2005年12月05日 14:25:04
>>>>> "Eric" == Eric Firing <ef...@ha...> writes:
 Eric> John, It looks like you are referring to bugs in the
 Eric> Colormap.__call__ method that were introduced when I added
 Eric> support for masked values out-of-bounds values. I have
 Eric> committed a change that fixes the bugs I could find there
 Eric> (as tested with examples/image_masked.py), so that the
 Eric> colormap call produces exactly the same output with scipy as
 Eric> with Numeric or numarray--the same rgba values.
 Eric> Unfortunately, although that demo now runs with all three,
 Eric> it produces different plots. It appears that somewhere else
 Eric> in the code--I'm pretty sure it is not within colors.py--the
 Eric> floating point rgba values are getting rounded or, more
 Eric> likely, truncated, when using scipy.
Hey Eric,
Thanks for taking a look at this. The only other logical place for a
problem to reside is in colors.normalize, since the pipleline is
 rgba = cmap(normalize(X))
The relevant bit of code is here -- if you or anyone else sees an
obvious candidate that might cause this truncation, let me know.... 
class normalize:
 def __init__(self, vmin=None, vmax=None, clip = True):
 """
 Normalize a given value to the 0-1 range
 If vmin or vmax is not given, they are taken from the input's
 minimum and maximum value respectively. If clip is True and
 the given value falls outside the range, the returned value
 will be 0 or 1, whichever is closer. Returns 0 if vmin==vmax.
 Works with scalars or arrays, including masked arrays. If clip
 is True, masked values on input will be set to 1 on output; if
 clip is False, the mask will be propagated to the output.
 """
 self.vmin = vmin
 self.vmax = vmax
 self.clip = clip
 def __call__(self, value):
 if isinstance(value, (int, float)):
 vtype = 'scalar'
 val = ma.array([value])
 else:
 vtype = 'array'
 val = ma.asarray(value)
 self.autoscale(val)
 vmin, vmax = self.vmin, self.vmax
 if vmin > vmax:
 raise ValueError("minvalue must be less than or equal to maxvalue")
 elif vmin==vmax:
 return 0.*value
 else:
 if self.clip:
 val = clip(val.filled(vmax), vmin, vmax)
 result = (1.0/(vmax-vmin))*(val-vmin)
 if vtype == 'scalar':
 result = result[0]
 return result
 def autoscale(self, A):
 if not self.scaled():
 if self.vmin is None: self.vmin = ma.minimum(A)
 if self.vmax is None: self.vmax = ma.maximum(A)
 def scaled(self):
 'return true if vmin and vmax set'
 return (self.vmin is not None and self.vmax is not None)
JDH
From: Eric F. <ef...@ha...> - 2005年12月05日 09:00:19
John,
It looks like you are referring to bugs in the Colormap.__call__ method 
that were introduced when I added support for masked values 
out-of-bounds values. I have committed a change that fixes the bugs I 
could find there (as tested with examples/image_masked.py), so that the 
colormap call produces exactly the same output with scipy as with 
Numeric or numarray--the same rgba values. Unfortunately, although that 
demo now runs with all three, it produces different plots. It appears 
that somewhere else in the code--I'm pretty sure it is not within 
colors.py--the floating point rgba values are getting rounded or, more 
likely, truncated, when using scipy.
Eric
John Hunter wrote:
> I just committed some changes to fix the scipy core patch. The
> problem was that Daishi apparently had the full scipy installed, so
> many of the imports that worked in his tests did not work for scipy
> core.
> 
> Most things seem to be working, but there is a problem in the
> colormapping code in colors.py. The index into the LUT, which should
> be an integer array, is coming out as a float array for scipy core.
> I'm not sure why. Perry wrote this section of the code so he has a
> better understanding of it than I do (around line 240 in colors.py),
> this line is failing
> 
> #print 'types', typecode(self._lut), typecode(xa), xa.shape
> rgba = take(self._lut, xa)
> 
> There may be other problems, but this is the only one I know of
> currently. 
> 
> A number of the symbols in numerix.mlab that Daishi originally defined
> were from various scipy (non-core) proper modules and I could not find
> these in the core. Will scipy core not be providing the equivalent of
> MLab.py? There are a few of these functions used in matplotlib, and I
> just redefined them manually for now in numerix.mlab. Eg, mean, std,
> hanning, and a few more. Others, like cov, I buried the import into
> the function that needs them, eg in matplotlib.mlab in the
> detrend_linear function. If these aren't going to be in the core,
> what do people suggest we do for numerix.mlab.
> 
> If anyone has any suggestions for help on the colormap LUT problem
> referenced above, that would be great.
> 
> Thanks,
> JDH
> 
> 
> -------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
> for problems? Stop! Download the new AJAX search engine that makes
> searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
> http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
> _______________________________________________
> Matplotlib-devel mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
From: John H. <jdh...@ac...> - 2005年12月05日 02:35:54
I just committed some changes to fix the scipy core patch. The
problem was that Daishi apparently had the full scipy installed, so
many of the imports that worked in his tests did not work for scipy
core.
Most things seem to be working, but there is a problem in the
colormapping code in colors.py. The index into the LUT, which should
be an integer array, is coming out as a float array for scipy core.
I'm not sure why. Perry wrote this section of the code so he has a
better understanding of it than I do (around line 240 in colors.py),
this line is failing
 #print 'types', typecode(self._lut), typecode(xa), xa.shape
 rgba = take(self._lut, xa)
There may be other problems, but this is the only one I know of
currently. 
A number of the symbols in numerix.mlab that Daishi originally defined
were from various scipy (non-core) proper modules and I could not find
these in the core. Will scipy core not be providing the equivalent of
MLab.py? There are a few of these functions used in matplotlib, and I
just redefined them manually for now in numerix.mlab. Eg, mean, std,
hanning, and a few more. Others, like cov, I buried the import into
the function that needs them, eg in matplotlib.mlab in the
detrend_linear function. If these aren't going to be in the core,
what do people suggest we do for numerix.mlab.
If anyone has any suggestions for help on the colormap LUT problem
referenced above, that would be great.
Thanks,
JDH

Showing 8 results of 8

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 によって変換されたページ (->オリジナル) /