0
私はラインプロットを更新しています。この更新を開始するイベントトリガーがあります。トリガがプロットを含む図形から来た場合は、すべてが問題ありません。しかし、トリガーが他の人物から来た場合、奇妙な結果が発生します。更新された行は、トレースをクリアしないままにしているように見えます。ここでプロットを更新しても、イベントトリガが他のFigureから来た場合、古いプロットは消去されませんか?
は一例です:
import matplotlib.pyplot as plt
import numpy as np
def onclick(event):
for ii in np.linspace(0., np.pi, 100):
y1 = y * np.sin(ii)
line1.set_ydata(y1)
ax.draw_artist(line1)
line2.set_ydata(-y1)
ax2.draw_artist(line2)
ax2.set_ylim(y1.min(), y1.max())
fig.canvas.update()
plt.pause(0.1)
x = np.linspace(0., 2*np.pi, 100)
y = np.sin(x)
fig = plt.figure()
ax = fig.add_subplot(1, 2, 1)
line1 = ax.plot(x, y)[0]
ax2 = fig.add_subplot(1, 2, 2)
line2 = ax2.plot(x, y)[0]
fig2 = plt.figure()
cid = fig2.canvas.mpl_connect('button_press_event', onclick)
plt.show()
私は画面に表示されるもの:
すべての残留そして、あなたはプロットのサイズを変更する場合は、注意してください、または数字として保存してください。イメージはなくなります。一方
、に変更一行場合:
cid = fig2.canvas.mpl_connect('button_press_event', onclick)
が、それは正しいです。アニメーションは意図どおりに機能します。