私はPython matplotlib
に新しく、図をループで更新したいと考えています。 これは簡単なテストコードです。私は3秒間に3つのグラフを描画し、毎回異なる傾きで描画したいと考えています。もちろん、私はmatplotlib
についてもう少し読むべきであることを知っていますが、何かすばやくする必要があります。以下は間違っていますか?ありがとう!ループ内の図形を更新する
#!/usr/bin/env python
import matplotlib.pyplot as plt
import numpy as np
import time
def demo(a):
y = [xt*a+1 for xt in x]
ax.plot(x,y)
if __name__ == '__main__':
plt.ion()
fig, ax = plt.subplots()
ax.set_ylim([0,15])
x = range(0,5)
for a in range(1,4):
demo(a)
time.sleep(2)
私はplt.ion()
が瞬時に有効になります(ただし、推測)、それは、インタラクティブおよびax.plot(x,y)
ますと思いました。 の後にax.plot(x,y)
を追加しようとしましたが、アーティストや何かの議論が必要です。また、私はこのエラーメッセージが来ている(Ubuntu 14.04.LTS)。
Xlib: extension "XInputExtension" missing on display ":1.0".
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 62 (X_CopyArea)
Resource id: 0x0
編集:以下の正しいコードを追加します。 (Estilusのソリューションに基づいている私は、正しいグラフ表示のために少しを変更する。
#!/usr/bin/env python
import matplotlib.pyplot as plt
import numpy as np
import time
def demo(a):
plt.cla()
y = [xt*a+1 for xt in x]
ax.set_ylim([0,15])
ax.plot(x,y)
if __name__ == '__main__':
plt.ion()
fig, ax = plt.subplots()
x = range(5)
for a in range(1,4):
demo(a)
plt.pause(3)
plt.draw()
[matplotlibでプロットを更新するにはどうすればいいですか?](0120-17753) –
[複数定義可能MATPLOTLIBでforループを使ってアニメーション化するプロット](0120-1775600/default-multiple-plots-to-be-an-ated-with-a-for-loop-in-matplotlib) – hashcode55