使用Matplotlib移除散点图中的一个点

5
下面的代码创建了一个带有白点的散点图。如何在不重新绘制整个图形的情况下删除这个点?
g = Figure(figsize=(5,4), dpi=60);
b = g.add_subplot(111)
b.plot(x,y,'bo') # creates a blue dot
b.plot(x,y,'wo') # ovverrides the blue dot with a white dot (but the black circle around it remains)

我不明白你想要达到什么目的。你创建了这个白点,为什么要将其移除? - Djizeus
2
因为我不再需要它(在进一步的计算之后)。它将被更好的结果所替代。 - Nickpick
1个回答

12

过度绘制不等同于删除。在第二次绘图调用中,您绘制了一个带有黑色边框的白色标记。您可以使用 plot(x,y,'wo', mec='w') 设置标记的边缘颜色。

但是,如果您真的想要将其删除,可以捕获返回的线对象,并调用其remove方法。

fig, ax = plt.subplots(subplot_kw={'xlim': [0,1],
                                   'ylim': [0,1]})


p1, = ax.plot(0.5, 0.5, 'bo') # creates a blue dot
p2, = ax.plot(0.5, 0.5, 'ro')

p2.remove()

上面的示例生成了一个带有蓝色标记的图。添加了一个红色标记(在前面),但随后又被删除。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接