matplotlib中是否存在文本/数字输入框?
有没有文本或数字输入框可以用在 matplotlib
上呢?
我见过一个叫 Slider
的小工具,但那是另外一种东西。我想要的是一个简单的数字输入框。
3 个回答
0
我很喜欢QuadmasterXLII的回答,并且想补充一点。如果你在使用更新滑块系统的时候,可以用这个方法来获取里面的文本。
# text box
t_box = plt.axes([0.05, 0.95, 0.8, 0.04])
file_text_box = TextBox(t_box, 'text', initial=init_txt)
def update(val)
my_var = text_box.text_disp._text
14
你在寻找的是文本框这个互动小工具,它是在2.1版本中新增的:
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.widgets import TextBox
fig, ax = plt.subplots()
plt.subplots_adjust(bottom=0.2)
t = np.arange(-2.0, 2.0, 0.001)
ydata = t ** 2
initial_text = "t ** 2"
l, = plt.plot(t, ydata, lw=2)
def submit(text):
ydata = eval(text)
l.set_ydata(ydata)
ax.set_ylim(np.min(ydata), np.max(ydata))
plt.draw()
axbox = plt.axes([0.1, 0.05, 0.8, 0.075])
text_box = TextBox(axbox, 'Evaluate', initial=initial_text)
text_box.on_submit(submit)
plt.show()