web-dev-qa-db-ja.com

Mac OSX-AttributeError: 'FigureCanvasMac'オブジェクトに属性 'restore_region'がありません

Mac OSXマシンでのmatplotlibのアニメーション例の説明- http://matplotlib.org/examples/animation/simple_anim.html -このエラーが発生します:-

File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/animation.py", line 248, in _blit_clear
    a.figure.canvas.restore_region(bg_cache[a])
AttributeError: 'FigureCanvasMac' object has no attribute 'restore_region'

以前にこれに遭遇したことがある人は、この問題を解決する方法を知っていますか?

既知の問題(および現時点では未解決)のようです- https://github.com/matplotlib/matplotlib/issues/531

35
Calvin Cheng

設定するだけ

blit=False

animation.FuncAnimation() が呼び出されて動作します。

たとえば( double_pendulum_animatedから ):

ani = animation.FuncAnimation(fig, animate, np.arange(1, len(y)), interval=25, blit=False, init_func=init)
47
jw1123

別のバックエンドに切り替えることで問題を回避できます。

import matplotlib
matplotlib.use('TkAgg')
22
Beau

https://mail.python.org/pipermail/pythonmac-sig/2012-September/023664.html で述べたように、次を使用します:

import matplotlib
matplotlib.use('TkAgg')

#just *before*

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation

OSX 10.11.6のActiveState Tkinterインストールを使用してTkinterをインストールすると、これは私にとってうまくいきました、Python 2.71

line_ani = animation.FuncAnimation(fig1, update_line, 25, fargs=(data, l),
interval=50, blit=False)
5
ReaddyEddy

既知の問題(および現時点では未解決)のようです- https://github.com/matplotlib/matplotlib/issues/531

2
Calvin Cheng