1

FuncAnimationに問題があります。少し変更した例を使用していますhttp://matplotlib.org/examples/animation/basic_example.html

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation


def update_line(num, data, line):
    data.pop(0)
    data.append(np.random.random())
    line.set_ydata(data)

    return line,

fig1 = plt.figure()
data = [0.0 for i in xrange(100)]
l, = plt.plot(data, 'r-')


plt.ylim(-1, 1)
line_ani = animation.FuncAnimation(fig1, update_line, 25, fargs=(data, l), interval=50, blit=True)


plt.show()

問題は、最初の行(update_lineによって更新された)がバックグラウンドのままであるということです。ウィンドウのサイズを変更した場合(ウィンドウの隅をクリックしてマウスを動かします)。この最初の行は消えますが、サイズ変更後の最初の行はバックグラウンドのままになります。

これは正常ですか、それとも私は何か間違ったことをしています。

前もって感謝します

4

1 に答える 1

1

速度についてあまり心配していない場合は、削除blit=Trueすれば機能するはずです。

ブリッティングは、(すべてではなく)変更された図の一部を再描画するだけで時間を節約する方法ですが、混乱しやすいです。すべてのアーティストを含めないと、blit=True毎回再描画されます。

図の軸または側面にpythonmatplotlibblitを読むことをお勧めしますか?およびAnimatingMatplotlibパネル-blitは古いフレームを残します。

于 2013-02-13T05:12:33.063 に答える