我有一些我用Python绘制的数据,但现在我想删除这些图而不是图本身。
我有这样的事情:
import numpy as np
import pylab as plt
a = np.array([1,2,3,4,5,6,7,8,9,10])
b = np.array([1,2,3,4,5,6,7,8,9,10])
c = plt.plot(a,b,'r.')
为了清楚这一点,我尝试了这个:
a = np.array([])
b = np.array([])
c = plt.plot(a,b,'r.')
但它不起作用。实现这一目标的最佳方法是什么?
答案 0 :(得分:0)
您可以使用返回的绘图对象的remove
方法。对于继承自Artist
的任何绘图对象,情况都是如此。
c = plt.plot(a,b,'r.')
for handle in c:
handle.remove()
答案 1 :(得分:0)
从这里开始:
When to use cla(), clf() or close() for clearing a plot in matplotlib?
plt.cla()清除一个轴,即当前活动的轴 目前的数字。它使其他轴保持不变。
plt.clf()用它的所有轴清除整个当前数字,但是 使窗户打开,以便它可以重复用于其他地块。
plt.close()会关闭一个窗口,如果没有,它将是当前窗口 另有规定。
此外,如果您喜欢逐行进行,即使您丢失了原始参考文献,也可以将其删除:
for l in ax.get_lines():
xval = l.get_xdata()[0]
if (xval == my_criteria):
l.remove()
或者简而言之:
for l in ax.get_lines():
l.remove()
同样,您可以使用y值进行相同的索引。
答案 2 :(得分:0)