2014-09-23 37 views
6

我可以在matplotlib中製作文本框。但我沒有看到如何從渲染的陰謀中刪除它們?繪製文本框後,似乎沒有figure.text.clear()或figure.text(visible = False)?這是如何完成的?和傳說不同,你似乎無法讓它們拖曳?如何清除以前繪製的Matplotlib文本框?

+0

'figure.text.remove()'? – 101 2014-09-23 21:40:14

回答

11

文本框是藝術家。因此,如果你保留對它們的引用,你應該可以用它們做很多事情。因此,在任何繪圖代碼,而不是

fig.text(0, 0, 'My text') 

,你可以做

textvar = fig.text(0, 0, 'My text') 

如果你已經失去了參考,不過,所有的文本對象可以在texts屬性中找到:

fig.texts # is a list of Text objects 

在版本1.3.1中,做textvar.remove()生成一個NotImplementedError(顯然固定在1.4)。但是,您可以通過將可見性設置爲False來在某種程度上解決此問題。

for txt in fig.texts: 
    txt.set_visible(False) 

將使您的所有文本框消失。

+0

你是否因爲1.4而出現這個錯誤?我可以發誓,我們修正了...... – tacaswell 2014-09-24 03:29:16

+0

作品像一個魅力 - ty – 2014-09-24 03:32:10

+0

@tcaswell我沒有想到檢查最新版本,這是與1.3.1。真棒,它固定在1.4! – Ajean 2014-09-24 03:38:02