|
From: Michael H. <jm...@ph...> - 2008-11-11 17:04:56
|
Greetings. I need to make some histograms from within a Python program,
and I noticed that Matplotlib, which I've never used before, appears to
have that capability.
At:
http://matplotlib.sourceforge.net/
I see the following simple example:
>>> from pylab import randn, hist
>>> x = randn(10000)
>>> hist(x, 100)
And there is a more-extended example at:
http://matplotlib.sourceforge.net/_static/plot_directive/mpl_examples/pylab_examples/histogram_demo.py
Unfortunately, when I run either example I get nothing but complaints
and errors, as in the appended.
This is on a system running 64-bit Fedora 9 and Python 2.5.1.
I'm evidently doing something wrong. Will somebody please point me in
the right direction?
Thanks.
- Mike
$ python
Python 2.5.1 (r251:54863, Jun 15 2008, 18:24:56)
[GCC 4.3.0 20080428 (Red Hat 4.3.0-8)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from pylab import randn, hist
>>> x = randn(10000)
>>> hist(x, 100)
/usr/lib64/python2.5/site-packages/numpy/lib/function_base.py:343:
Warning:
The semantics of histogram has been modified in
the current release to fix long-standing issues with
outliers handling. The main changes concern
1. the definition of the bin edges,
now including the rightmost edge, and
2. the handling of upper outliers, now ignored rather
than tallied in the rightmost bin.
The previous behaviour is still accessible using
`new=False`, but is scheduled to be deprecated in the
next release (1.3).
*This warning will not printed in the 1.3 release.*
Use `new=True` to bypass this warning.
Please read the docstring for more information.
""", Warning)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib64/python2.5/site-packages/matplotlib/pyplot.py", line
1633, in hist
ret = gca().hist(*args, **kwargs)
File "/usr/lib64/python2.5/site-packages/matplotlib/axes.py", line
5117, in hist
n, bins = npy.histogram(x, bins, range=None, normed=normed)
TypeError: 'NoneType' object is not iterable
--
Michael Hannon mailto:ha...@ph...
Dept. of Physics 530.752.4966
University of California 530.752.4717 FAX
Davis, CA 95616-8677
|
|
From: Eric F. <ef...@ha...> - 2008-11-11 17:13:57
|
Michael Hannon wrote: > Greetings. I need to make some histograms from within a Python program, > and I noticed that Matplotlib, which I've never used before, appears to > have that capability. > > At: > http://matplotlib.sourceforge.net/ > > I see the following simple example: > > >>> from pylab import randn, hist > >>> x = randn(10000) > >>> hist(x, 100) > > And there is a more-extended example at: > > http://matplotlib.sourceforge.net/_static/plot_directive/mpl_examples/pylab_examples/histogram_demo.py > > Unfortunately, when I run either example I get nothing but complaints > and errors, as in the appended. > > This is on a system running 64-bit Fedora 9 and Python 2.5.1. > > I'm evidently doing something wrong. Will somebody please point me in > the right direction? It sounds like your matplotlib version is too old for your numpy version. What version of matplotlib are you using? Can you install a newer one, or, better yet, build from svn? (The warning from numpy is easy to deal with; the TypeError from matplotlib is what indicates that the version is incompatible.) Eric > > Thanks. > > - Mike > > > $ python > Python 2.5.1 (r251:54863, Jun 15 2008, 18:24:56) > [GCC 4.3.0 20080428 (Red Hat 4.3.0-8)] on linux2 > Type "help", "copyright", "credits" or "license" for more information. >>>> from pylab import randn, hist >>>> x = randn(10000) >>>> hist(x, 100) > /usr/lib64/python2.5/site-packages/numpy/lib/function_base.py:343: > Warning: > The semantics of histogram has been modified in > the current release to fix long-standing issues with > outliers handling. The main changes concern > 1. the definition of the bin edges, > now including the rightmost edge, and > 2. the handling of upper outliers, now ignored rather > than tallied in the rightmost bin. > The previous behaviour is still accessible using > `new=False`, but is scheduled to be deprecated in the > next release (1.3). > > *This warning will not printed in the 1.3 release.* > > Use `new=True` to bypass this warning. > > Please read the docstring for more information. > > """, Warning) > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > File "/usr/lib64/python2.5/site-packages/matplotlib/pyplot.py", line > 1633, in hist > ret = gca().hist(*args, **kwargs) > File "/usr/lib64/python2.5/site-packages/matplotlib/axes.py", line > 5117, in hist > n, bins = npy.histogram(x, bins, range=None, normed=normed) > TypeError: 'NoneType' object is not iterable > > |
|
From: Michael H. <jm...@ph...> - 2008-11-11 18:29:19
|
On Tue, Nov 11, 2008 at 07:13:46AM -1000, Eric Firing wrote: > Michael Hannon wrote: > >Greetings. I need to make some histograms from within a Python program, > >and I noticed that Matplotlib, which I've never used before, appears to > >have that capability. > > > >At: > > http://matplotlib.sourceforge.net/ > > > >I see the following simple example: > > > > >>> from pylab import randn, hist > > >>> x = randn(10000) > > >>> hist(x, 100) > > > >And there is a more-extended example at: > > > >http://matplotlib.sourceforge.net/_static/plot_directive/mpl_examples/pylab_examples/histogram_demo.py > > > >Unfortunately, when I run either example I get nothing but complaints > >and errors, as in the appended. > > > >This is on a system running 64-bit Fedora 9 and Python 2.5.1. > > > >I'm evidently doing something wrong. Will somebody please point me in > >the right direction? > > > It sounds like your matplotlib version is too old for your numpy > version. What version of matplotlib are you using? Can you install a > newer one, or, better yet, build from svn? (The warning from numpy is > easy to deal with; the TypeError from matplotlib is what indicates that > the version is incompatible.) > > Eric Hi, Eric. I'm using the packages provided by Fedora: numpy.x86_64 1.2.0-1.fc9 python-matplotlib.x86_64 0.91.4-1.fc9 It appears that numpy is reasonably up-to-date, but Matplotlib appears to be relatively old (although I don't know what d(version)/dt is). I'll look into installing from the source kits (and/or look into Fedora 10, which will be shipping in a couple of weeks, IIRC). Thanks. - Mike -- Michael Hannon mailto:ha...@ph... Dept. of Physics 530.752.4966 University of California 530.752.4717 FAX Davis, CA 95616-8677 |
|
From: Eric F. <ef...@ha...> - 2008-11-11 18:52:24
|
Michael Hannon wrote: > On Tue, Nov 11, 2008 at 07:13:46AM -1000, Eric Firing wrote: >> Michael Hannon wrote: >>> Greetings. I need to make some histograms from within a Python program, >>> and I noticed that Matplotlib, which I've never used before, appears to >>> have that capability. >>> >>> At: >>> http://matplotlib.sourceforge.net/ >>> >>> I see the following simple example: >>> >>> >>> from pylab import randn, hist >>> >>> x = randn(10000) >>> >>> hist(x, 100) >>> >>> And there is a more-extended example at: >>> >>> http://matplotlib.sourceforge.net/_static/plot_directive/mpl_examples/pylab_examples/histogram_demo.py >>> >>> Unfortunately, when I run either example I get nothing but complaints >>> and errors, as in the appended. >>> >>> This is on a system running 64-bit Fedora 9 and Python 2.5.1. >>> >>> I'm evidently doing something wrong. Will somebody please point me in >>> the right direction? >> >> It sounds like your matplotlib version is too old for your numpy >> version. What version of matplotlib are you using? Can you install a >> newer one, or, better yet, build from svn? (The warning from numpy is >> easy to deal with; the TypeError from matplotlib is what indicates that >> the version is incompatible.) >> >> Eric > > Hi, Eric. I'm using the packages provided by Fedora: > > numpy.x86_64 1.2.0-1.fc9 > python-matplotlib.x86_64 0.91.4-1.fc9 > > It appears that numpy is reasonably up-to-date, but Matplotlib appears > to be relatively old (although I don't know what d(version)/dt is). Yes, your numpy is fine, but your matplotlib is an older branch, and although it is still being maintained it looks like it is not in sync with changes to numpy going from 1.1 to 1.2. I hope Fedora 10 has switched to the current branch, 0.98.x. In any case, however, matplotlib changes fast enough that it may be worthwhile building your own. It is very easy to do on a linux machine once the necessary headers are in place. Typically this involves installing several *dev or *devel packages--I don't know the specifics of Fedora packaging. Eric > > I'll look into installing from the source kits (and/or look into Fedora > 10, which will be shipping in a couple of weeks, IIRC). > > Thanks. > > - Mike |
|
From: Michael H. <jm...@ph...> - 2008-11-12 18:34:11
|
On Tue, Nov 11, 2008 at 08:52:15AM -1000, Eric Firing wrote: . . . > >Hi, Eric. I'm using the packages provided by Fedora: > > > > numpy.x86_64 1.2.0-1.fc9 > > python-matplotlib.x86_64 0.91.4-1.fc9 > > > >It appears that numpy is reasonably up-to-date, but Matplotlib appears > >to be relatively old (although I don't know what d(version)/dt is). > > Yes, your numpy is fine, but your matplotlib is an older branch, and > although it is still being maintained it looks like it is not in sync > with changes to numpy going from 1.1 to 1.2. I hope Fedora 10 has > switched to the current branch, 0.98.x. In any case, however, > matplotlib changes fast enough that it may be worthwhile building your > own. It is very easy to do on a linux machine once the necessary > headers are in place. Typically this involves installing several *dev > or *devel packages--I don't know the specifics of Fedora packaging. Thanks again, Eric. I built Matplotlib 0.98 from source on my Fedora box, and that did fix the problem. I haven't checked Fedora 10 yet (arriving in 13 days). - Mike -- Michael Hannon mailto:ha...@ph... Dept. of Physics 530.752.4966 University of California 530.752.4717 FAX Davis, CA 95616-8677 |