Warum funktioniert die Plotinteraktivität (Ziehen und Zoomen) in diesem Python-Beispiel nicht mehr?
Stefano
Ich benutze TextBox
aus dem Modul matplotlib.widgets
. Grundsätzlich erstellt mein Code ein Diagramm mit einem Textfeld, in das der Benutzer Text eingeben kann, der auf der Konsole gedruckt werden soll.
Das Problem ist, dass ich das Diagramm interaktiv ziehen und vergrößern kann, solange ich keine Zahl in das Textfeld eingebe. Wenn ich eine Zahl eingebe, ist der Plot nicht mehr interaktiv. Das Obige passiert nicht, wenn ich Buchstaben eingebe. Bitte versuchen Sie es selbst mit dem Code unten.
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()
Ich muss wirklich Zahlen anstelle von Buchstaben eingeben und das interaktive Verhalten der Handlung beibehalten. Weiß jemand warum das passiert?
Jeder Vorschlag ist willkommen.
Wichtigkeit von BeErnest
Das ist im Wesentlichen dieser Fehler .
Um dieses Problem zu umgehen:
- Klicken Sie auf das Textfeld
- Geben Sie Ihre Nummer ein
- Klicken Sie außerhalb des Textfelds
- Drücken Sie die aTaste
- Aktivieren Sie das Zoomen / Schwenken usw.