1

しばらく調べてみたところ、プロットからコンテンツを削除する巧妙な方法がいくつか見つかりました。

例: lines = blah, del lines[0], line gone.

しかし、これは明らかにヒストグラムや imshow では機能しません。

図全体を再生成することなく、プロット領域をクリアする (つまり、clf() を使用しない) 方法はありますか? これには、現在プロットされているものについて厳密な知識がなくても、それを削除できる必要があります。プロットに同じ領域を使用するアプリケーションを開発しており、表示したいさまざまなタイプのグラフのコンテンツを削除する一般的な方法が必要です。いくつかの線、いくつかの散乱、いくつかのヒストなど.

ありがとう。

4

1 に答える 1

1

に表示できるものはすべてaxesのサブクラスでArtistあり、メンバー関数remove (doc)を持ちます。すべてのプロット関数は、軸に追加するartist(またはのリスト) を返す (はずです) 。artists元:

ln, = ax.plot(...) # adds a line
img = ax.imshow( ) # adds an image
ln.remove()        # removes the line
img.remove()       # removes the image

plt.draw()変更を表示するには、キャンバス (または)を再描画する必要ax.figure.canvas.draw()があります。

指定されたすべてのアーティストのリストを取得するにはaxes

artist_list = ax.get_children()

軸からすべてを削除したい場合は、

ax.cla()

于 2013-02-13T23:50:35.230 に答える