Я использую TextBox
из модуля matplotlib.widgets
. По сути, мой код создает график с текстовым полем, в котором пользователь может вводить текст для печати на консоли.
Проблема в том, что я могу в интерактивном режиме перетаскивать и увеличивать график, пока я не введу ни одного числа в текстовое поле. Если я введу число, сюжет перестанет быть интерактивным. Выше не бывает, если я ввожу буквы. Пожалуйста, попробуйте сами с кодом ниже.
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.widgets as mwidgets
# Data
x = np.arange(0,2*np.pi, 0.01)
y = np.sin(x)
# Plot
fig = plt.figure()
ax = plt.axes()
ax.plot(x, y)
# Ask for text input on the plot display
def submitText(text):
print('Entered text = {}'.format(text))
axbox = plt.axes([0.3, 0.2, 0.3, 0.05])
text_box = mwidgets.TextBox(axbox, 'Write a text here: ', initial='{}'.format(text))
text_box.on_submit(submitText)
# Display plot
plt.show()
Мне действительно нужно вводить цифры вместо букв и сохранять интерактивное поведение сюжета. Кто-нибудь знает, почему это происходит?
Любые предложения приветствуются.