データを取り込み、matplotlib (v1.3.x) を使用してプロットする小さな python プログラムがあります。プロットにはドラッグ可能な凡例があります。Windows では正常にレンダリングされますが、Mac (OS 10.8.3) ではエラーが発生します。このコードは、最初に Figure を作成し、次に Figure を使用してサブプロットを作成します。サブプロットは座標軸を返します。軸オブジェクトを使用して凡例を作成しています。これに似ています:
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
lines = ax.plot([1,2,3,4])
legend = ax.legend(lines, loc=2)
legend.draggable()
plt.show()
エラーは次のとおりです。
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Python/2.7/site-packages/matplotlib-1.3.x-py2.7-macosx-10.8-intel.egg/matplotlib/legend.py", line 1007, in draggable
update=update)
File "/Library/Python/2.7/site-packages/matplotlib-1.3.x-py2.7-macosx-10.8-intel.egg/matplotlib/legend.py", line 54, in __init__
use_blit=use_blit)
File "/Library/Python/2.7/site-packages/matplotlib-1.3.x-py2.7-macosx-10.8-intel.egg/matplotlib/offsetbox.py", line 1540, in __init__
DraggableBase.__init__(self, ref_artist, use_blit=use_blit)
File "/Library/Python/2.7/site-packages/matplotlib-1.3.x-py2.7-macosx-10.8-intel.egg/matplotlib/offsetbox.py", line 1462, in __init__
self.canvas = self.ref_artist.figure.canvas
AttributeError: 'DraggableLegend' object has no attribute 'ref_artist'
このエラーを説明できるもの、またはドラッグ可能な凡例が Mac で機能しない理由を Web 上で見つけられませんでした。私はこれをmatplotlibのドキュメントで見つけました: Note that not all kinds of artist are supported by the legend yet
、しかしそれがここに当てはまるかどうかはわかりません。
誰でも助けることができますか?