我环顾四周,发现了许多从情节中删除内容的巧妙方法。
例如 lines = blah, del lines[0], line 消失了。
但这显然不适用于直方图,例如 imshow。
有没有办法清除绘图区域(即不使用 clf())而不必重新生成整个图形。这要求您对当前绘制的内容没有严格的了解,但仍然能够将其删除。我正在开发一个使用相同区域进行绘图的应用程序,我想要一种通用方法来删除我想要显示的不同类型图形的内容。一些线条,一些分散,一些组织等。
谢谢。
我环顾四周,发现了许多从情节中删除内容的巧妙方法。
例如 lines = blah, del lines[0], line 消失了。
但这显然不适用于直方图,例如 imshow。
有没有办法清除绘图区域(即不使用 clf())而不必重新生成整个图形。这要求您对当前绘制的内容没有严格的了解,但仍然能够将其删除。我正在开发一个使用相同区域进行绘图的应用程序,我想要一种通用方法来删除我想要显示的不同类型图形的内容。一些线条,一些分散,一些组织等。
谢谢。
您可以在 an 上显示的所有内容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()