4

ipython ノートブックで次のコードを使用して、棒グラフを .png ファイルとして保存します。
plt.savefig(filename, bbox_inches='tight')

私のコンピューターで動作し、別のコンピューターでスクリプトを実行しようとしました。ただし、他のマシンで実行しようとすると、次のエラーが発生します。

AssertionError
---> 119 plt.savefig(filename,bbox_inches='tight')

C:\Python27\lib\site-packages\matplotlib\pyplot.pyc in savefig(*args,**kwargs)
---> 472 self.canvas.print_figure(*args,**kwargs)

C:\Python27\lib\site-packages\matplotlib\figure.pyc in savefig(self,*args,**kwargs)
---> 1363 self.canvas.print_figure(*args,**kwargs)

C:\Python27\lib\site-packages\matplotlib\backend_bases.pyc
---> 2054 bbox_inches = self.figure.get_tightbbox(renderer)

C:\Python27\lib\site-packages\matplotlib\figure.pyc in get_tightbbox(self,renderer)
---> 1496 _bbox = Bbox.union([b for b in bb if b.width!=0 or b.height!=0])

C:\Python27\lib\site-packages\matplotlib\transforms.pyc in union(bboxes)
---> 714 assert(len(bboxes))

AssertionError:

bbox_inches='tight' 引数を削除すると、エラーが解決され、ファイルが保存されるように見えますが、そこには画像がなく、完全に空白の .png ファイルのみです。

Python、matplotlib、およびその他のパッケージのバージョンがすべて同じであることを確認しました。誰もこれに遭遇したことがありますか?私はそれがmatplotlibのバグである可能性があると考えていますが、それは私のコンピューターで正常に動作し、同じバージョンを持っているので意味がありません. アイデアや提案はありますか?

4

4 に答える 4

4

これは通常、図がキャンバスにレンダリングされないことを意味します。これは、引数が削除されたときに対応する画像がない理由も説明しています! 例えば:

import pylab
pylab.savefig('test', bbox_inches='tight')

同様のエラーが発生します。

    pylab.savefig('test', bbox_inches='tight')
  File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 471, in savefig
    return fig.savefig(*args, **kwargs)
  File "/usr/lib/pymodules/python2.7/matplotlib/figure.py", line 1185, in savefig
    self.canvas.print_figure(*args, **kwargs)
  File "/usr/lib/pymodules/python2.7/matplotlib/backend_bases.py", line 1985, in print_figure
    bbox_inches = self.figure.get_tightbbox(renderer)
  File "/usr/lib/pymodules/python2.7/matplotlib/figure.py", line 1326, in get_tightbbox
    _bbox = Bbox.union([b for b in bb if b.width!=0 or b.height!=0])
  File "/usr/lib/pymodules/python2.7/matplotlib/transforms.py", line 675, in union
    assert(len(bboxes))
于 2013-04-24T04:23:45.153 に答える
3

まったく同じエラーメッセージが表示されました。GUIで画像を表示して保存したところ、エラーが発生しました。最初に保存してから表示することで解決しました。

于 2014-08-11T16:05:20.457 に答える
1

ipython inline を実行するとエラーが発生しました。

ipython.exe notebook --pylab=inline

この問題を解決するには、'=inline' を削除してください。

于 2013-05-10T02:46:33.250 に答える