使用matplotlib删除散点图中的点

Nic*_*ick 4 python matplotlib scatter-plot

下面的代码创建了一个带有白点的散点图.如何在不重绘整个图形的情况下删除此点?

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)
Run Code Online (Sandbox Code Playgroud)

Rut*_*ies 11

过度绘图与删除不同.在第二个情节调用中,您绘制一个带有黑色边框的白色标记.您可以使用标记设置标记的edgecolor 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()
Run Code Online (Sandbox Code Playgroud)

上面的示例导致带有蓝色标记的图形.添加红色标记(在前面),但也会再次删除.