web-dev-qa-db-ja.com

matplotlibを使用したSpyderでのインタラクティブ(?)プロット

MatlabからPythonに移行しようとしていますが、Spyder IDE内でインタラクティブ(?)プロットを機能させる方法がわかりません。テストコードを以下に示します。ionを使用()何も起こらず、図形がすばやく点滅すると、ウィンドウがすぐに閉じてHelloが吐き出されます。ion()がないと、図形は正しく描画されますが、スクリプトがハングし、Helloが吐き出されません。手動でFigureウィンドウを閉じます。matlabスクリプトのようにスクリプトを実行し、計算を進めて出力をターミナル(?)ウィンドウに配置しながら、要求したさまざまなFigureをプロットします。

Ipythonで1行ずつ入力してみたところ、うまくいくように見えましたが、コードを微調整する行間を行き来できるスクリプトシート形式で作業したいと思います。

それが助けになるなら、私はウィンドウズ7で働いています。 python(x、y)をインストールし、そこからspyderを起動しています(spyderバージョン2.1.9)。似たような質問をいくつか見ましたが、この問題を解決できませんでした。 ipythonsの最新バージョンはspyderと互換性がないと誰かが言ったように見えましたが、インタラクティブなプロットは関係なくサポートされるべきだという別の投稿を見ました。助けてくれてありがとう!誰かが、MATLABの動作を模倣するために使用できる代替環境を持っていれば、それも機能します。私はPythonを初めて使用します。

import matplotlib.pylab as plt
plt.ion()
plt.plot([1,2,3])
plt.show()
plt.ylabel('This is an axis')
print ("Hello")
13
Daniel

実行構成は現在のPythonまたはIPythonインタープリターで実行)に設定する必要があります。これにより、デフォルトでインタラクティブなプロットが可能になります。インタープリターがで実行)に設定されている場合新しい専用のPythonインタープリター次に実行後にPythonインタープリターと対話するを選択する必要があります。

16
Daniel

私の場合、これらはspyderのデフォルト設定でしたが、次のように入力するまでプロットは表示されませんでした:%matplotlib inline

これが役立つかどうかはわかりませんが、ここで共有することを考えました。

1
Munish