Re: [Pythonmac-SIG] Matplotlib-animation problem
It's a known problem with the MacOS X backend: http://matplotlib.1069221.n5.nabble.com/Animation-example-error-on-Mac-after-installation-td26960.html Try changing backend - for example, add import matplotlib matplotlib.use('TkAgg') just *before* import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation This works for me. Cheers, Tom On 4 September 2012 20:19, William R. Wing (Bill Wing) wrote: > I'm running Mac OS-X 10.8.1, with python 2.7.3, numpy 1.8.0, matplotlib 1.2, > and wxPython 2.9.3.1 (although wx isn't involved here, at least I don't > think so). I'm running on a dual-quad processor Xeon Mac Pro. > > I decided to learn something about animated matplotlib graphics, so started > to look at the examples in > http://matplotlib.sourceforge.net/examples/animation/... > > I consistently run into a problem, illustrated below. Starting from the > animate_decay.py code, copied and pasted into an editor as here: > > #!/usr/bin/env python > """ > http://matplotlib.sourceforge.net/examples/animation/animate_decay.html > """ > > import numpy as np > import matplotlib.pyplot as plt > import matplotlib.animation as animation > > def data_gen(): > t = data_gen.t > cnt = 0 > while cnt < 1000: > cnt+=1 > t += 0.05 > yield t, np.sin(2*np.pi*t) * np.exp(-t/10.) > data_gen.t = 0 > > fig = plt.figure() > ax = fig.add_subplot(111) > line, = ax.plot([], [], lw=2) > ax.set_ylim(-1.1, 1.1) > ax.set_xlim(0, 5) > ax.grid() > xdata, ydata = [], [] > def run(data): > # update the data > t,y = data > xdata.append(t) > ydata.append(y) > xmin, xmax = ax.get_xlim() > > if t >= xmax: > ax.set_xlim(xmin, 2*xmax) > ax.figure.canvas.draw() > line.set_data(xdata, ydata) > > return line, > > ani = animation.FuncAnimation(fig, run, data_gen, blit=True, interval=10, > repeat=False) > plt.show() > > > If I attempt to run this script (or any of several others), I get: > > StraylightPro:Matplotlib_stuff wrw$ ./animate_decay.py > Traceback (most recent call last): > File > "/Library/Python/2.7/site-packages/matplotlib-1.2.x-py2.7-macosx-10.8-intel.egg/matplotlib/backend_bases.py", > line 1117, in _on_timer > ret = func(*args, **kwargs) > File > "/Library/Python/2.7/site-packages/matplotlib-1.2.x-py2.7-macosx-10.8-intel.egg/matplotlib/animation.py", > line 763, in _step > still_going = Animation._step(self, *args) > File > "/Library/Python/2.7/site-packages/matplotlib-1.2.x-py2.7-macosx-10.8-intel.egg/matplotlib/animation.py", > line 625, in _step > self._draw_next_frame(framedata, self._blit) > File > "/Library/Python/2.7/site-packages/matplotlib-1.2.x-py2.7-macosx-10.8-intel.egg/matplotlib/animation.py", > line 645, in _draw_next_frame > self._post_draw(framedata, blit) > File > "/Library/Python/2.7/site-packages/matplotlib-1.2.x-py2.7-macosx-10.8-intel.egg/matplotlib/animation.py", > line 668, in _post_draw > self._blit_draw(self._drawn_artists, self._blit_cache) > File > "/Library/Python/2.7/site-packages/matplotlib-1.2.x-py2.7-macosx-10.8-intel.egg/matplotlib/animation.py", > line 682, in _blit_draw > bg_cache[a.axes] = a.figure.canvas.copy_from_bbox(a.axes.bbox) > AttributeError: 'FigureCanvasMac' object has no attribute 'copy_from_bbox' > Traceback (most recent call last): > File > "/Library/Python/2.7/site-packages/matplotlib-1.2.x-py2.7-macosx-10.8-intel.egg/matplotlib/backend_bases.py", > line 1117, in _on_timer > ret = func(*args, **kwargs) > File > "/Library/Python/2.7/site-packages/matplotlib-1.2.x-py2.7-macosx-10.8-intel.egg/matplotlib/animation.py", > line 763, in _step > still_going = Animation._step(self, *args) > File > "/Library/Python/2.7/site-packages/matplotlib-1.2.x-py2.7-macosx-10.8-intel.egg/matplotlib/animation.py", > line 625, in _step > self._draw_next_frame(framedata, self._blit) > File > "/Library/Python/2.7/site-packages/matplotlib-1.2.x-py2.7-macosx-10.8-intel.egg/matplotlib/animation.py", > line 643, in _draw_next_frame > self._pre_draw(framedata, blit) > File > "/Library/Python/2.7/site-packages/matplotlib-1.2.x-py2.7-macosx-10.8-intel.egg/matplotlib/animation.py", > line 656, in _pre_draw > self._blit_clear(self._drawn_artists, self._blit_cache) > File > "/Library/Python/2.7/site-packages/matplotlib-1.2.x-py2.7-macosx-10.8-intel.egg/matplotlib/animation.py", > line 696, in _blit_clear > a.figure.canvas.restore_region(bg_cache[a]) > AttributeError: 'FigureCanvasMac' object has no attribute 'restore_region' > > > …and the 'restore-region' error sequence then repeats endlessly. > > I'm hoping this is all caused by my not quite having the right library > installed someplace along the line. If anyone could point it out, I'd sure > appreciate it. > > Thanks, > Bill > > ___ > Pythonmac-SIG maillist - Pythonmac-SIG@python.org > http://mail.python.org/mailman/listinfo/pythonmac-sig > unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG >
Re: [Pythonmac-SIG] Matplotlib-animation problem
In article <67de0fd9-ad6f-4470-aea2-7fef70dc6...@mac.com>, "William R. Wing (Bill Wing)" wrote: > I'm running Mac OS-X 10.8.1, with python 2.7.3, numpy 1.8.0, matplotlib 1.2, > and wxPython 2.9.3.1 (although wx isn't involved here, at least I don't think > so). I'm running on a dual-quad processor Xeon Mac Pro. > > I decided to learn something about animated matplotlib graphics, so started > to look at the examples in > http://matplotlib.sourceforge.net/examples/animation/... > > I consistently run into a problem, illustrated below. Starting from the > animate_decay.py code, copied and pasted into an editor as here: [...]> > ...and the 'restore-region' error sequence then repeats endlessly. > > I'm hoping this is all caused by my not quite having the right library > installed someplace along the line. If anyone could point it out, I'd sure > appreciate it. I have no experience with matplotlib other than having played with a few of the examples. I have the current versions from MacPorts installed (1.1.1 with MacPorts numpy 1.6.2 and MacPorts python 2.7.3, no wxPython, all on 10.8.1) and, FWIW, I see the same behavior running your example as you report. -- Ned Deily, n...@acm.org ___ Pythonmac-SIG maillist - Pythonmac-SIG@python.org http://mail.python.org/mailman/listinfo/pythonmac-sig unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG
[Pythonmac-SIG] Matplotlib-animation problem
I'm running Mac OS-X 10.8.1, with python 2.7.3, numpy 1.8.0, matplotlib 1.2, and wxPython 2.9.3.1 (although wx isn't involved here, at least I don't think so). I'm running on a dual-quad processor Xeon Mac Pro. I decided to learn something about animated matplotlib graphics, so started to look at the examples in http://matplotlib.sourceforge.net/examples/animation/... I consistently run into a problem, illustrated below. Starting from the animate_decay.py code, copied and pasted into an editor as here: #!/usr/bin/env python """ http://matplotlib.sourceforge.net/examples/animation/animate_decay.html """ import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation def data_gen(): t = data_gen.t cnt = 0 while cnt < 1000: cnt+=1 t += 0.05 yield t, np.sin(2*np.pi*t) * np.exp(-t/10.) data_gen.t = 0 fig = plt.figure() ax = fig.add_subplot(111) line, = ax.plot([], [], lw=2) ax.set_ylim(-1.1, 1.1) ax.set_xlim(0, 5) ax.grid() xdata, ydata = [], [] def run(data): # update the data t,y = data xdata.append(t) ydata.append(y) xmin, xmax = ax.get_xlim() if t >= xmax: ax.set_xlim(xmin, 2*xmax) ax.figure.canvas.draw() line.set_data(xdata, ydata) return line, ani = animation.FuncAnimation(fig, run, data_gen, blit=True, interval=10, repeat=False) plt.show() If I attempt to run this script (or any of several others), I get: StraylightPro:Matplotlib_stuff wrw$ ./animate_decay.py Traceback (most recent call last): File "/Library/Python/2.7/site-packages/matplotlib-1.2.x-py2.7-macosx-10.8-intel.egg/matplotlib/backend_bases.py", line 1117, in _on_timer ret = func(*args, **kwargs) File "/Library/Python/2.7/site-packages/matplotlib-1.2.x-py2.7-macosx-10.8-intel.egg/matplotlib/animation.py", line 763, in _step still_going = Animation._step(self, *args) File "/Library/Python/2.7/site-packages/matplotlib-1.2.x-py2.7-macosx-10.8-intel.egg/matplotlib/animation.py", line 625, in _step self._draw_next_frame(framedata, self._blit) File "/Library/Python/2.7/site-packages/matplotlib-1.2.x-py2.7-macosx-10.8-intel.egg/matplotlib/animation.py", line 645, in _draw_next_frame self._post_draw(framedata, blit) File "/Library/Python/2.7/site-packages/matplotlib-1.2.x-py2.7-macosx-10.8-intel.egg/matplotlib/animation.py", line 668, in _post_draw self._blit_draw(self._drawn_artists, self._blit_cache) File "/Library/Python/2.7/site-packages/matplotlib-1.2.x-py2.7-macosx-10.8-intel.egg/matplotlib/animation.py", line 682, in _blit_draw bg_cache[a.axes] = a.figure.canvas.copy_from_bbox(a.axes.bbox) AttributeError: 'FigureCanvasMac' object has no attribute 'copy_from_bbox' Traceback (most recent call last): File "/Library/Python/2.7/site-packages/matplotlib-1.2.x-py2.7-macosx-10.8-intel.egg/matplotlib/backend_bases.py", line 1117, in _on_timer ret = func(*args, **kwargs) File "/Library/Python/2.7/site-packages/matplotlib-1.2.x-py2.7-macosx-10.8-intel.egg/matplotlib/animation.py", line 763, in _step still_going = Animation._step(self, *args) File "/Library/Python/2.7/site-packages/matplotlib-1.2.x-py2.7-macosx-10.8-intel.egg/matplotlib/animation.py", line 625, in _step self._draw_next_frame(framedata, self._blit) File "/Library/Python/2.7/site-packages/matplotlib-1.2.x-py2.7-macosx-10.8-intel.egg/matplotlib/animation.py", line 643, in _draw_next_frame self._pre_draw(framedata, blit) File "/Library/Python/2.7/site-packages/matplotlib-1.2.x-py2.7-macosx-10.8-intel.egg/matplotlib/animation.py", line 656, in _pre_draw self._blit_clear(self._drawn_artists, self._blit_cache) File "/Library/Python/2.7/site-packages/matplotlib-1.2.x-py2.7-macosx-10.8-intel.egg/matplotlib/animation.py", line 696, in _blit_clear a.figure.canvas.restore_region(bg_cache[a]) AttributeError: 'FigureCanvasMac' object has no attribute 'restore_region' …and the 'restore-region' error sequence then repeats endlessly. I'm hoping this is all caused by my not quite having the right library installed someplace along the line. If anyone could point it out, I'd sure appreciate it. Thanks, Bill ___ Pythonmac-SIG maillist - Pythonmac-SIG@python.org http://mail.python.org/mailman/listinfo/pythonmac-sig unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG