yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #04059
Re: [Question #138108]: issues with plotting (maybe due to matplotlib)
Question #138108 on Yade changed:
https://answers.launchpad.net/yade/+question/138108
Status: Open => Answered
Hadda proposed the following answer:
Hi,
Try to print the data you want to plot on the terminal, you may have
some voids with 'none' values. Python can't handle it !
Nejib
Le vendredi 17 décembre 2010 à 12:48 +0000, Giulia Macaro a écrit :
> New question #138108 on Yade:
> https://answers.launchpad.net/yade/+question/138108
>
> Hi,
>
> I'm using yade-bzr2612 on ubuntu 9.10. The plot window crashes at some point almost in every simulation, regardless the simulation it's running.
>
> When it happens in the terminal I got:
>
> ERROR: An unexpected error occurred while tokenizing input
> The following traceback may be corrupted or invalid
> The error message is: ('EOF in multi-line statement', (550, 0))
>
> ERROR: An unexpected error occurred while tokenizing input
> The following traceback may be corrupted or invalid
> The error message is: ('EOF in multi-line statement', (550, 0))
>
> ERROR: An unexpected error occurred while tokenizing input
> The following traceback may be corrupted or invalid
> The error message is: ('EOF in multi-line statement', (550, 0))
>
> ERROR: An unexpected error occurred while tokenizing input
> The following traceback may be corrupted or invalid
> The error message is: ('EOF in multi-line statement', (550, 0))
>
> ---------------------------------------------------------------------------
> KeyError Traceback (most recent call last)
>
> /usr/lib/pymodules/python2.6/matplotlib/backends/backend_qt4.pyc in mouseReleaseEvent(self, event)
> 134 y = self.figure.bbox.height - event.y()
> 135 button = self.buttond[event.button()]
> --> 136 FigureCanvasBase.button_release_event( self, x, y, button )
> 137 if DEBUG: print 'button released'
> 138
>
> /usr/lib/pymodules/python2.6/matplotlib/backend_bases.pyc in button_release_event(self, x, y, button, guiEvent)
> 1217 s = 'button_release_event'
> 1218 event = MouseEvent(s, self, x, y, button, self._key, guiEvent=guiEvent)
> -> 1219 self.callbacks.process(s, event)
> 1220 self._button = None
> 1221
>
>
>
>
> ...and continues with something similar for other a while (do you need the whole output?)... and then:
>
> KeyError: (0.0, 0.00019999999999999987, u'0.0002', 'k', 'center', 'right', 7623432979757281113, None, 80, 79854408)
>
>
> At this point I close the window plot (with the simulation still running), and open it again with the F8 command. Sometimes it works, sometimes I got:
>
>
>
> RuntimeError Traceback (most recent call last)
>
> /home/giulia/YADE/lib/yade-bzr2612/py/yade/__init__.pyc in <module>()
> ----> 1
> 2
> 3
> 4
> 5
>
> /home/giulia/YADE/lib/yade-bzr2612/py/yade/plot.pyc in plot(noShow, subPlots)
> 254 .. note:: For backwards compatibility reasons, *noShow* option will return list of figures for multiple figures but a single figure (rather than list with 1 element) if there is only 1 figure.
> 255 """
> --> 256 createPlots(subPlots=subPlots)
> 257 global currLineRefs
> 258 if not noShow:
>
> /home/giulia/YADE/lib/yade-bzr2612/py/yade/plot.pyc in createPlots(subPlots)
> 148 global currLineRefs
> 149 figs=set([l.line.get_axes().get_figure() for l in currLineRefs]) # get all current figures
> --> 150 for f in figs: pylab.close(f) # close those
> 151 currLineRefs=[] # remove older plots (breaks live updates of windows that are still open)
> 152 if len(plots)==0: return # nothing to plot
>
> /usr/lib/pymodules/python2.6/matplotlib/pyplot.pyc in close(*args)
> 334 if manager.canvas.figure==arg:
> 335 manager.canvas.mpl_disconnect(manager._cidgcf)
> --> 336 _pylab_helpers.Gcf.destroy(manager.num)
> 337 else:
> 338 raise TypeError('Unrecognized argument type %s to close'%type(arg))
>
> /usr/lib/pymodules/python2.6/matplotlib/_pylab_helpers.pyc in destroy(num)
> 61 del Gcf.figs[num]
> 62 #print len(Gcf.figs.keys()), len(Gcf._activeQue)
>
> ---> 63 figManager.destroy()
> 64 gc.collect()
> 65
>
> /usr/lib/pymodules/python2.6/matplotlib/backends/backend_qt4.pyc in destroy(self, *args)
> 278 self.window._destroying = True
> 279 QtCore.QObject.disconnect( self.window, QtCore.SIGNAL( 'destroyed()' ),
> --> 280 self._widgetclosed )
> 281 if self.toolbar: self.toolbar.destroy()
> 282 if DEBUG: print "destroy figure manager"
>
> RuntimeError: underlying C/C++ object has been deleted
>
>
>
>
> Could it be related to the python version (Python 2.6.4 (r264:75706, Dec 7 2009, 18:43:55)
> [GCC 4.4.1] on linux2) I'm using?
> or do I need any other python package?
>
> It's not that I can't run the simulation as it works now, but it's a bit annoying.
>
> Thank you
> Giulia
>
>
>
>
>
--
You received this question notification because you are a member of
yade-users, which is an answer contact for Yade.