2015-09-26 117 views
0

我在Python中使用Pyplot。如何清除pyplot散点图上的所有动态绘图点?

我知道你可以挑选哪些点,特别是你希望删除的点,但是这也会影响我想要保持不变的轴。此外,我生成的点是动态创建的(这意味着我不知道它们是什么,直到它们被实际制造出来)。有没有一种方法,我可以基本上擦拭图的所有点,但保持相同的轴?我宁愿不让Python关闭旧窗口并创建一个新窗口。

感谢您的帮助!让我知道我需要澄清什么。

回答

0

广东话你通过类似检索的最高和最低限额:

ymax,ymin = axes.get_ylim() 

,然后使用重新发起新的情节?

+0

是追加例题。我想我的困惑实际上是重新启动新的情节而不关闭,每次都打开一个新窗口。 – M2com

+0

您可以使用'plt.clf()'清除当前的数字而不关闭窗口 – Henry

+0

clf()工作得很好。不过,我只需要重新说明这个轴是什么,尽管这不会让事情变得太慢。谢谢! – M2com

2

我认为您正在寻找轴上的clear方法或由散点图返回的PathCollection上的remove方法。请参阅this答案中的细节讨论。这是保持轴和清除点的例子:

import matplotlib.pyplot as plt 
fig, ax = plt.subplots() 
paths = ax.scatter([3,2,1,4], [2,3,4,0]) 
paths.remove() # to just remove the scatter plot and keep the limits 

或者:

ax.clear() # to clear the whole axes 

编辑:如何只是删除点

+0

ax.clear()似乎也清除了限制..不幸的是 – gota