我可以在 matplotlib 中制作文本框。但我看不到如何从渲染图中删除它们?画个文本框后好像没有figure.text.clear()或者figure.text(visible=False)?这是怎么做到的?与传说不同,您似乎无法使它们可拖动?
最佳答案
文本框是艺术家。因此,如果您保留对它们的引用,您应该能够用它们做很多事情。因此,在任何绘图代码中,而不是
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)
将使您所有的文本框消失。
关于python - 如何清除之前绘制的 Matplotlib 文本框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26005138/