1

理解できないように見えるmatplotlibに奇妙な問題があります。pylab フラグで ipython ノートブックを使用する場合ipython notebook --pylab inline、matplotlib でカラーバーを生成するために使用される次のようなコード行があります。

im = ax.imshow(df, vmin=vmin, vmax=vmax)

コードは正しく機能し、素敵なカラーバーが得られます。このコードを Python ファイルとして実行すると、エラーが発生しますNameError: name 'ax' is not definedipython notebook --pylab inlineがノートブックに大量のものを自動的にインポートすることは理解していますが、問題を解決するために何をインポートする必要があるかわかりません。print type(ax)与えます:

<class 'matplotlib.axes.AxesSubplot'>

私のコードが ipython では機能するのに、プレーンな python ファイルでは機能しない理由を誰でも指摘できますか? 前もって感謝します。

4

2 に答える 2

2

aXデフォルトではpylabの一部として定義されていないため、あなたが何をしたのかよくわかりません。

通常axは軸オブジェクトを参照します。入手するにはいくつかの方法があります。

matplotlib.pyplot.gca()            # gca = get current axis
matplotlib.pyplot.subplot(2,1,1)   # For creating multiple plots in one figure
fig.get_axes()[x]                  # Where fig is a Figure object
于 2012-08-05T11:41:58.657 に答える