2015-10-06 158 views
4

下面的代碼創建一個帶有白點的散點圖。如何在不重新繪製整個圖形的情況下刪除此點?用matplotlib去除散點圖中的點

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) 
+0

我不明白你想達到什麼目的。你創建了白點,你爲什麼要刪除它? – Djizeus

+1

因爲我不再需要它了(在進一步計算之後)。它將被更好的結果取代。 – Nickpick

回答

8

重疊繪圖與移除不同。隨着你的第二個陰謀稱你畫一個白色的標記,黑色的邊框。您可以使用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() 

上面的例子會產生一個帶有藍色標記的圖形。紅色標記被添加(在前面),但也被刪除。