如何通过matplotlib TextBox小部件中的代码更改文本

问题描述 投票:1回答:1

我有一个matplotlib小部件文本框如下

temp_descr = 'wow'
self.axLabel = plt.axes([0.7, 0.05, 0.21, 0.075])
self.text_boxLabel = TextBox(self.axLabel, 'Label: ', temp_descr)

一旦设置为初始值,我以后如何更改文本?喜欢

temp_descr = 'new wow'
self.text_boxLabel.set_text(temp_descr)

但是,这会产生以下错误

AttributeError:'TextBox'对象没有属性'set_text'

python matplotlib widget
1个回答
2
投票

您不仅要设置显示的文本,还要更改内部存储的文本。要一次性使用TextBox.set_val()方法。

import matplotlib.pyplot as plt
import matplotlib.widgets

temp_descr = 'wow'
axLabel = plt.axes([0.7, 0.05, 0.21, 0.075])
textbox = matplotlib.widgets.TextBox(axLabel, 'Label: ', temp_descr)

textbox.set_val("jojojo")

plt.show()
© www.soinside.com 2019 - 2024. All rights reserved.