下面的代码创建一个带有白点的散点图。 如何在不重新绘制整个图形的情况下删除此点?
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)The below code creates a scatter plot with a white dot. How can I remove this dot without redrawing the whole figure?
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)最满意答案
重叠绘图与移除不同。 随着你的第二个阴谋称你画一个白色的标记,黑色的边框。 你可以用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()上面的例子产生一个带有蓝色标记的图。 红色标记被添加(在前面),但也被删除。
Overplotting is not the same as removing. With your second plot call you draw a white marker, with a black border. You can set the edgecolor for a marker with plot(x,y,'wo', mec='w').
But if you really want to remove it, capture the returned line object, and call its remove method.
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()The example above results in a figure with a blue marker. A red marker is added (in front) but also removed again.
更多推荐
发布评论