Warum funktioniert die Plotinteraktivität (Ziehen und Zoomen) in diesem Python-Beispiel nicht mehr?


Stefano

Ich benutze TextBoxaus 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:

  1. Klicken Sie auf das Textfeld
  2. Geben Sie Ihre Nummer ein
  3. Klicken Sie außerhalb des Textfelds
  4. Drücken Sie die aTaste
  5. Aktivieren Sie das Zoomen / Schwenken usw.

Verwandte Artikel


Warum funktioniert das Umgebungslicht in diesem Beispiel nicht?

Nulik Im folgenden Beispiel funktioniert das Umgebungslicht nicht (alles ist schwarz). Warum passiert das? Und wie behebe ich das? Wenn ich Punktlicht einsetze, funktioniert es, also muss etwas mit dem Umgebungslicht nicht stimmen, aber ich habe die Dokumente

Warum funktioniert useRef in diesem Beispiel nicht?

Yigal Hier ist mein React Hooks Code: function Simple(){ var [st,set_st]=React.useState(0) var el=React.useRef(null) if (st<1) set_st(st+1)//to force an extra render for a grand total of 2 console.log('el.current',el.current,'st',st)

Warum funktioniert Stripe in diesem Beispiel nicht?

Jens Van den Eede Ich versuche, eine Website zu erstellen, und suche nach Zahlungsgateways. Stripe war das erste, auf das ich gestoßen bin, und ich versuche es. Bevor ich meine Frage dazu stelle, würde ich gerne wissen, ob es gut ist oder gibt es bessere Alter

Warum funktioniert $ data reference in diesem Beispiel nicht?

jcdietrich Ich habe die Option $ data auf true gesetzt und versuche, endDate mithilfe eines $ data-Ausdrucks auf mindestens den Wert von startDate zu beschränken. Dieses Beispiel sollte die Validierung nicht bestehen, ist dies jedoch nicht. :( var Ajv = requir

Warum funktioniert dieses einfache Beispiel nicht mehr?

Franjkovic Ivan Seit heute funktioniert dieses Beispiel nicht mehr: let app; const options = { env: 'AutodeskProduction', accessToken: 'eyJhbGciOiJIUzI1NiIsImtpZCI6Imp3dF9zeW1tZXRyaWNfa2V5In0.eyJjbGllbnRfaWQiOiJ1OXc4b2NYc3Y3dm96Rm9PQWVjakhGckZwRmN6cmZ