0
Traceback (most recent call last):
  File "PSPsolver1.py", line 520, in getchain
    Publisher().sendMessage(("show.mainframe"), msg)
  File "/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode/wx/lib/pubsub/pubsub1    /pub.py", line 750, in sendMessage
    self.__topicTree.sendMessage(aTopic, message, onTopicNeverCreated)
  File "/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode/wx/lib/pubsub/pubsub1/pub.py", line 423, in sendMessage
deliveryCount += node.sendMessage(message)
  File "/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode/wx/lib/pubsub/pubsub1/pub.py", line 261, in sendMessage
listener(message)
  File "PSPsolver1.py", line 1112, in showFrame
createfigure()
  File "PSPsolver1.py", line 927, in createfigure
x_ax.imshow(xcolors, cmap=cmap, interpolation='none')
  File "/usr/lib/pymodules/python2.7/matplotlib/axes.py", line 6749, in imshow
filterrad=filterrad, resample=resample, **kwargs)
  File "/usr/lib/pymodules/python2.7/matplotlib/image.py", line 547, in __init__
**kwargs
  File "/usr/lib/pymodules/python2.7/matplotlib/image.py", line 94, in __init__
    self.set_interpolation(interpolation)
  File "/usr/lib/pymodules/python2.7/matplotlib/image.py", line 458, in set_interpolation
raise ValueError('Illegal interpolation string')
 ValueError: Illegal interpolation string

matplotlib で問題が発生しています あるコンピューターで動作しているコードがありますが、別のコンピューターで実行しようとすると、動作していないようで、このエラーが発生します 何をすべきかについて何か提案はありますか?

4

1 に答える 1

1

あなたのコードは

x_ax.imshow(xcolors, cmap=cmap, interpolation='none')

の927行目PSPsolver1.py。このパラメーターinterpolation='none'は、matplotlib バージョン 1.0.1 と 1.2.0 の間に導入されました。

私の推測では、あなたの 2 台のマシンは異なるバージョンの matplotlib を実行しており、一方のバージョンは最新ではありません。


問題を解決する 1 つの方法は、(もちろん) 古いバージョンの matplotlib を更新することです。それがオプションではない場合、またはそれをしたくない場合は、ドキュメントに次のように記載されていることに注意してください。

補間が「none」の場合、Agg、ps、および pdf バックエンドで補間は実行されません。他のバックエンドは「最も近い」にフォールバックします。

Aggしたがって、psまたはバックエンドを使用していない場合はpdf、行を次のように変更できます。

x_ax.imshow(xcolors, cmap=cmap, interpolation='nearest')

もちろん、このルートに進むと、新しい matplotlib 機能も使用する他のコードが存在する可能性があります。それらを修正するのはそれほど簡単ではないかもしれません。

于 2013-05-14T20:17:10.487 に答える