次のように、for ループを介して matplotlib で一連の AnnotationBbox を作成するとします。
for city in cities:
x, y = self.map(city[1], city[0])
ab = AnnotationBbox(imagebox, [x,y],
xybox=(0, 0),
xycoords='data',
boxcoords="offset points",
frameon=False)
self.axes.add_artist(ab)
self.locationImages.append(ab)
この例では、一連の AnnotationBBoxes を作成し、それらを self.locationImages というリストに格納しました。次に、ループ内で self.locationImages を調べ、次のようにしてそれぞれを削除します。
for image in self.locationImages:
image.remove()
ループを通過せずにすべてのアーティストを削除する方法はありますか? または、軸や図を削除せずに、すべてのアーティストと線を完全に削除するには?
マップ上にポイントをプロットしていますが、マップを維持する必要があります。ズームインとズームアウトを行っていますが、ズームインとズームアウト中に、すべてを削除して再プロットする必要があります。私は大規模なデータセットを扱っており、反復を行うことはコストのかかるアクションです