私はサブプロット上にいくつかのデータをプロットしようとしていますが、そのデータの一部を同じ図の別のサブプロットに移動しようとしています。私はちょうど1つの軸からアーティストを取り除き、もう一方の軸でそれを元に戻すことができますが、それは遅すぎるようです。代わりに、アーティストをある軸から別の軸へと動かすだけです。同じ図の1つの軸から別の軸にアーティストを移動する
私は軸からアーティストを簡単に削除できますが、もう一方に追加すると何もしないようです。 関連するコード:このコードを実行した後
artist.remove()
artist.axes = self.ax1
self.ax1.add_line(artist)
self.fig.canvas.draw_idle()
、選択されたアーティストは、最初の軸ではなくなりましたが、それは第二の軸上に表示されません。具体的には、アーチストは軸上にあり(ax2.childrenにはもう1つの要素があり、artist.axesはax2になります)、すべてを再描画しても視覚的に表示されません。
は、ここでの問題を示していますフル実施例である:
import matplotlib.pyplot as plt
from matplotlib.lines import Line2D
fig = plt.figure(figsize=(10,10))
ax1 = fig.add_subplot(121, picker=True)
ax2 = fig.add_subplot(122, picker=True)
v = [0,1,2,3,4]
plt.ion()
ax1.plot(v, picker=5)
def onclick(event):
artist = event.artist
print(artist)
if isinstance(artist, Line2D):
artist.remove()
artist.axes = ax2
ax2.add_line(artist)
fig.canvas.draw()
fig.canvas.mpl_connect('pick_event', onclick)
plt.show()
input('...')
働いていました!どうもありがとうございます! –