Hi all,

Did any progress get made beyond this discussion below? I'm trying to
get contourf3D working, using latest svn, and it still seems to be
out-of-order. Contour3D works, but I get exactly the same errors (and
went exactly the same route trying to fix them) as Matthew.

On 13/01/07, Eric Firing <[EMAIL PROTECTED]> wrote:
> I don't know if everything 3D works, but the first error you note below

Which one is supposed to be the 'first' error mentioned here? In my
latest svn checkout, the line:

levels, colls = self.contourf(X, Y, Z, 20)

still appears to be present.

> is fixed in svn, and I suspect in 0.87.7, the last release.  0.87.5 is
> rather old--quite a bit has changed between minor releases.
>
> Eric
>
> Matthew Koichi Grimes wrote:
> > contourf3D and contour3D seem to be broken in my copy of matplotlib
> > 0.87.5 that I installed from ubuntu edgy's repositories. Is this a known
> > problem? I started going through axes3d.py etc and fixing the reported
> > errors, but the error trail seems to go pretty deep across multiple
> > files. Now I'm wondering if maybe this is something major that has
> > already been fixed by more experienced hands in SVN or something.
> >
> > In the off chance that this is an unknown problem, I've enumerated the
> > errors below. These all happened while attempting to run the example
> > code in http://www.scipy.org/Cookbook/Matplotlib/mplot3D
> >
> > If it's fixed in SVN, I'll try installing that, but I haven't seen this
> > bug mentioned in matplotlib's bug list on sourceforge.net.
> >
> > -- Matt
> >
> > When I called contourf3D the first time, I got the following error:
> >
> > <snip>
> > File "/usr/lib/python2.4/site-packages/matplotlib/axes3d.py", line 596,
> > in contourf3D
> >     levels, colls = self.contourf(X, Y, Z, 20)
> > TypeError: unpack non-sequence
> > </snip>
> >
> > As suggested in the examples page above, I went into contourf3D's
> > function definition in axes3d.py and replaced:
> >
> >     levels, colls = self.contourf(X, Y, Z, 20)
> >
> > with
> >
> >     C = self.contourf(X, Y, Z, *args, **kwargs)
> >     levels, colls = (C.levels, C.collections)
> >
> > I then got a new error when calling contourf3D:
> >
> > <snip>
> > exceptions.NameError                                 Traceback (most
> > recent call last)
> >
> > /home/mkg/Desktop/<ipython console>
> >
> > /usr/lib/python2.4/site-packages/matplotlib/axes3d.py in
> > contourf3D(self, X, Y, Z, *args, **kwargs)
> >     604             zs = [z1] * (len(linec._verts[0])/2)
> >     605             zs += [z2] * (len(linec._verts[0])/2)
> > --> 606             art3d.wrap_patch(linec, zs, fn=draw_polyc)
> >     607         self.auto_scale_xyz(X,Y,Z, had_data)
> >     608         return levels,colls
> >
> > NameError: global name 'draw_polyc' is not defined
> > </snip>
> >
> > After changing draw_polyc to art3d.draw_polyc, it complained that
> > art3d.wrap_patch in fact only takes two arguments. So I changed
> >
> >     art3d.wrap_patch(linec, zs, fn=draw_polyc)
> >
> > to
> >
> >     art3d.wrap_patch(linec, zs)
> >
> > Which led to the latest error message:
> >
> > <snip>
> > Traceback (most recent call last):
> >   File
> > "/usr/lib/python2.4/site-packages/matplotlib/backends/backend_gtk.py",
> > line 284, in expose_event
> >     self._render_figure(self._pixmap, w, h)
> >   File
> > "/usr/lib/python2.4/site-packages/matplotlib/backends/backend_gtkagg.py",
> > line 73, in _render_figure
> >     FigureCanvasAgg.draw(self)
> >   File
> > "/usr/lib/python2.4/site-packages/matplotlib/backends/backend_agg.py",
> > line 391, in draw
> >     self.figure.draw(renderer)
> >   File "/usr/lib/python2.4/site-packages/matplotlib/figure.py", line
> > 538, in draw
> >     for a in self.axes: a.draw(renderer)
> >   File "/usr/lib/python2.4/site-packages/matplotlib/axes3d.py", line
> > 172, in draw
> >     Axes.draw(self, renderer)
> >   File "/usr/lib/python2.4/site-packages/matplotlib/axes.py", line 1057,
> > in draw
> >     a.draw(renderer)
> >   File "/usr/lib/python2.4/site-packages/matplotlib/art3d.py", line 56,
> > in call_draw3d
> >     self.draw3d(renderer)
> >   File "/usr/lib/python2.4/site-packages/matplotlib/art3d.py", line 184,
> > in draw3d
> >     xs,ys = zip(*self._offsets)
> > TypeError: zip() argument after * must be a sequence
> > </snip>
> >
> > Contour3D (not contourf3D) does work in that it successfully displays a
> > plot, but when I mouseover this plot, my python console fills with the
> > following error message (one repetition for each mouse event):
> >
> > <snip>
> > /usr/lib/python2.4/site-packages/matplotlib/backends/backend_gtk.py in
> > motion_notify_event(self, widget, event)
> >     178         # flipy so y=0 is bottom of canvas
> >     179         y = self.allocation.height - y
> > --> 180         FigureCanvasBase.motion_notify_event(self, x, y)
> >     181         return False  # finish event propagation?
> >     182
> >
> > /usr/lib/python2.4/site-packages/matplotlib/backend_bases.py in
> > motion_notify_event(self, x, y, guiEvent)
> >     885         event = MouseEvent('motion_notify_event', self, x, y,
> > self._button, self._key, guiEvent=guiEvent)
> >     886         for func in self.callbacks.get('motion_notify_event',
> > {}).values():
> > --> 887             func(event)
> >     888
> >     889     def draw(self, *args, **kwargs):
> >
> > /usr/lib/python2.4/site-packages/matplotlib/axes3d.py in on_move(self,
> > event)
> >     396         """
> >     397         #NOTE - this shouldn't be called before the graph has
> > been drawn for the first time!
> > --> 398         if event.inaxes != self or not self.M:
> >     399             return
> >     400         #
> >
> > ValueError: The truth value of an array with more than one element is
> > ambiguous. Use a.any() or a.all()
> > </snip>
-- 
AJC McMorland, PhD Student
Physiology, University of Auckland

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to