Re: [matplotlib-devel] Bug in 'weights' in axes.hist

2010-07-29 Thread Benjamin Root
On Sun, Jul 25, 2010 at 3:51 PM, Benjamin Root  wrote:

> On Tue, Jul 20, 2010 at 9:21 AM, Jeff Klukas  wrote:
>
>> Hello,
>>
>> The documentation for hist seems to indicate that you should be able
>> to send a list of values through the 'weights' parameter in axes.hist,
>> and this worked in previous versions.  In 1.0, however, this produces
>> an error.  I've attached a diff (also pasted below) that I believe
>> produces the expected behavior.
>>
>> It can be tested with:
>> plt.hist([1,2,3], weights=[1,2,3])
>>
>> The above fails in the development version, but works with the diff.
>> Could someone add this fix?
>>
>> Thanks,
>> Jeff
>>
>> || Jeff Klukas, Research Assistant, Physics
>> || University of Wisconsin -- Madison
>> || jeff.klu...@gmail | jeffyklu...@aim | jeffklu...@skype
>> || http://klukas.web.cern.ch/
>>
>>
>> Index: lib/matplotlib/axes.py
>> ===
>> --- lib/matplotlib/axes.py  (revision 8565)
>> +++ lib/matplotlib/axes.py  (working copy)
>> @@ -7587,7 +7587,12 @@
>> else:
>> raise ValueError("weights must be 1D or 2D")
>> else:
>> -w = [np.array(wi) for wi in weights]
>> +try:
>> +weights[0][0]
>> +except TypeError:
>> +w = [np.array(weights)]
>> +else:
>> +w = [np.array(wi) for wi in weights]
>>
>> if len(w) != nx:
>> raise ValueError('weights should have the same shape as
>> x')
>>
>>
> Good catch, Jeff.  Looking over the code, looks like both the input data,
> x, and the weights get similar pre-processing done to ready it for
> histogramming. It appears that a fix was made to how x was being processed,
> but the same was not done to weights.  I have a patch that fixes the
> pre-processing of weights, and also  adds comments to both blocks of code to
> remind future developers to make sure changes are made to both chunks of
> code.
>
> The functional part of the change was to check if the first element of
> weights was an iterable or not.  Before, the weights array as in the given
> example would be considered 1-element weights for 3 datasets, rather than
> 3-element weights for 1 dataset.
>
> Ben Root
>
>
Re-pinging on my proposed patch.  Also, should it go into just the trunk, or
should it also go into the branch?

Ben Root
--
The Palm PDK Hot Apps Program offers developers who use the
Plug-In Development Kit to bring their C/C++ apps to Palm for a share
of $1 Million in cash or HP Products. Visit us here for more details:
http://p.sf.net/sfu/dev2dev-palm___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] Bug in 'weights' in axes.hist

2010-07-29 Thread Eric Firing
On 07/29/2010 09:31 AM, Benjamin Root wrote:
[...]
>
> Good catch, Jeff.  Looking over the code, looks like both the input
> data, x, and the weights get similar pre-processing done to ready it
> for histogramming. It appears that a fix was made to how x was being
> processed, but the same was not done to weights.  I have a patch
> that fixes the pre-processing of weights, and also  adds comments to
> both blocks of code to remind future developers to make sure changes
> are made to both chunks of code.
>
> The functional part of the change was to check if the first element
> of weights was an iterable or not.  Before, the weights array as in
> the given example would be considered 1-element weights for 3
> datasets, rather than 3-element weights for 1 dataset.
>
> Ben Root
>
>
> Re-pinging on my proposed patch.  Also, should it go into just the
> trunk, or should it also go into the branch?

Ben,

Go ahead, trunk and branch, since it is a bugfix.

Thank you.

Eric

>
> Ben Root
>

--
The Palm PDK Hot Apps Program offers developers who use the
Plug-In Development Kit to bring their C/C++ apps to Palm for a share
of $1 Million in cash or HP Products. Visit us here for more details:
http://p.sf.net/sfu/dev2dev-palm
___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] Bug in 'weights' in axes.hist

2010-07-29 Thread Benjamin Root
On Thu, Jul 29, 2010 at 3:39 PM, Eric Firing  wrote:

> On 07/29/2010 09:31 AM, Benjamin Root wrote:
> [...]
> >
> > Good catch, Jeff.  Looking over the code, looks like both the input
> > data, x, and the weights get similar pre-processing done to ready it
> > for histogramming. It appears that a fix was made to how x was being
> > processed, but the same was not done to weights.  I have a patch
> > that fixes the pre-processing of weights, and also  adds comments to
> > both blocks of code to remind future developers to make sure changes
> > are made to both chunks of code.
> >
> > The functional part of the change was to check if the first element
> > of weights was an iterable or not.  Before, the weights array as in
> > the given example would be considered 1-element weights for 3
> > datasets, rather than 3-element weights for 1 dataset.
> >
> > Ben Root
> >
> >
> > Re-pinging on my proposed patch.  Also, should it go into just the
> > trunk, or should it also go into the branch?
>
> Ben,
>
> Go ahead, trunk and branch, since it is a bugfix.
>
> Thank you.
>
> Eric
>
>
Done in r8595 and r8596.

As a side-note, it looks like various files that have been changed due to
svnmerge.py are still showing themselves as having their properties
modified.  Is this ok?

Ben Root
--
The Palm PDK Hot Apps Program offers developers who use the
Plug-In Development Kit to bring their C/C++ apps to Palm for a share
of $1 Million in cash or HP Products. Visit us here for more details:
http://p.sf.net/sfu/dev2dev-palm___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] Bug in 'weights' in axes.hist

2010-07-29 Thread Eric Firing
On 07/29/2010 01:17 PM, Benjamin Root wrote:
> On Thu, Jul 29, 2010 at 3:39 PM, Eric Firing  > wrote:
>
> On 07/29/2010 09:31 AM, Benjamin Root wrote:
> [...]
>  >
>  > Good catch, Jeff.  Looking over the code, looks like both the
> input
>  > data, x, and the weights get similar pre-processing done to
> ready it
>  > for histogramming. It appears that a fix was made to how x
> was being
>  > processed, but the same was not done to weights.  I have a patch
>  > that fixes the pre-processing of weights, and also  adds
> comments to
>  > both blocks of code to remind future developers to make sure
> changes
>  > are made to both chunks of code.
>  >
>  > The functional part of the change was to check if the first
> element
>  > of weights was an iterable or not.  Before, the weights array
> as in
>  > the given example would be considered 1-element weights for 3
>  > datasets, rather than 3-element weights for 1 dataset.
>  >
>  > Ben Root
>  >
>  >
>  > Re-pinging on my proposed patch.  Also, should it go into just the
>  > trunk, or should it also go into the branch?
>
> Ben,
>
> Go ahead, trunk and branch, since it is a bugfix.
>
> Thank you.
>
> Eric
>
>
> Done in r8595 and r8596.
>
> As a side-note, it looks like various files that have been changed due
> to svnmerge.py are still showing themselves as having their properties
> modified.  Is this ok?

That seems to be the way svnmerge works--it almost always generates an 
alarming list of property changes.

Eric

>
> Ben Root

--
The Palm PDK Hot Apps Program offers developers who use the
Plug-In Development Kit to bring their C/C++ apps to Palm for a share
of $1 Million in cash or HP Products. Visit us here for more details:
http://p.sf.net/sfu/dev2dev-palm
___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel