python - 如何清除之前绘制的 Matplotlib 文本框?

标签 python matplotlib

我可以在 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/

相关文章:

python - 如何在 matplotlib 饼图中显示实际值

python - 无法重新训练实例分割模型

python - 从字典列表中删除重复的字典

python - 尝试,除了 ValueError 替换为 None

python - 我在使用 matplotlib 时遇到此错误

python - Matplotlib 所以日志轴在指定点只有次要刻度线标签。还可以更改颜色栏中刻度标签的大小

python - 在 matplotlib 中绘制 Needleman-Wunsch 成对序列比对的得分矩阵

python - 如何获得每个月的第二个星期五的日期范围?

Python 在使用 open 时无法正确连接字符串

python - pandas dataframe hexbin 图没有 xlabel 或轴值