0

反復ごとに自分自身を更新するループでプロットを作成しようとしています。python 2.6.6を使用するLinux環境で作業していますが、Python2.7.3を使用してWindowsXPで同じコードを実行すると、失敗します。私にとってこのエラーを引き起こした最小限のコードは次のとおりです。

import matplotlib.pyplot as plt

plt.ion()
plt.figure(1)

for i in range(10):
   plt.clf()
   plt.plot(i,i**2,'bo')
   plt.axis([-1,10, -1, 90])
   plt.draw()

Linuxでは、放物線に沿って移動する青い点が表示されます。MSwindowsでは、最初に空のウィンドウが表示され、(9,81)をポイントとするプロットが表示されます。これはかなり簡単に思えますが、おそらく私は何か小さなものが欠けています。助言がありますか?

4

1 に答える 1

1

ここで答えを見つけました:https://stackoverflow.com/a/13601492/1738884

Windows で必要なのは、 のplt.pause(.01)後に を追加することだけでplt.draw()あり、プロットは必要に応じてすべての反復を更新しました。したがって、単純化された作業コードは次のようになります。

import matplotlib.pyplot as plt

plt.ion()
plt.figure(1)

for i in range(10):
    plt.clf()
    plt.plot(i,i**2,'bo')
    plt.axis([-1,10, -1, 90])
    plt.draw()
    plt.pause(.01)
于 2012-11-28T17:25:52.727 に答える