Lassen Sie uns ein Diagramm erstellen, auf das mit IPython geklickt werden kann

Ich werde Ihnen zeigen, wie Sie ein Diagramm erstellen, auf das Sie mit IPython klicken können. Am einfachsten ist es, die Funktion "Interact" ("IPython.html.widgets.interact") zu verwenden, mit der automatisch eine interaktive Benutzeroberfläche erstellt wird.

Laden Sie zuerst das gewünschte Modul.

from __future__ import print_function
from IPython.html.widgets import interact, interactive, fixed
from IPython.html import widgets

Definieren Sie dann zunächst die Funktion, die Sie interaktiv ausführen möchten.

def f(x):
    print(x)

Übergeben Sie als Nächstes die Funktion, die Sie ausführen möchten, an das erste Argument der Funktion "Interact" und übergeben Sie ein ähnliches Argument (Widget-Abkürzung) als Schlüsselwortargument. Das ist es. Wenn Sie den folgenden Code ausführen, wird ein Schieberegler angezeigt, auf den Sie gerne klicken.

interact(f, x=(-10, 10, 2));

InteractivePlot01.png

So sind oben und unten völlig synonym. Oben wird die Abkürzung für Widgets übergeben, und unten wird die Instanz eines Widgets übergeben.

interact(f, x=widgets.IntSliderWidget(min=-10, max=10, step=2, value=0));

InteractivePlot01.png

Wenn Sie den Anfangswert festlegen möchten, verwenden Sie "Interact" als Dekorateur.

@interact(x=(-10, 10, 2))
def g(x=8):
    print(x)

InteractivePlot02.png

Typische Widgets sind wie folgt. Übergeben Sie das Schlüsselwortargument der Funktion "Interact" entweder an die Widget-Abkürzung links oder an die Widget-Instanz rechts.

Schlüsselwortargument Widget
True or False CheckboxWidget
u'Hallo Welt!' TextareaWidget
Ganzzahlen verwendenvalue or (min,max) or (min,max,step) IntSliderWidget
Verwenden von reellen Zahlenvalue or (min,max) or (min,max,step) FloatSliderWidget
('orange','apple') or {'one':1,'two':2} DropdownWidget

In Kombination mit dem Zeichnen macht das Klicken noch mehr Spaß. Die folgende Abbildung ist eine Demo, die dynamisch $ y = A , sin (\ omega x + \ alpha) $ zeichnet. Wenn Sie die drei Parameter $ A \ in [0.1, 4.0], \ omega \ in [0.1, 4.0], \ alpha \ in [- \ pi, \ pi] $ mit dem Schieberegler ändern, ändert sich die Zahl entsprechend. Machen. Das macht Spaß!

%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
@interact(amp=(0.1, 4.0, 0.1), omega=(0.1, 4.0, 0.1), phase=(-np.pi, np.pi, 0.1), 
          fn = {'sin': np.sin, 'cos': np.cos, 'tan': np.tan})
def h(amp=1.0, omega=1.0, phase=0.0, fn=np.sin):
    domain=[-np.pi, np.pi]
    x = np.linspace(domain[0], domain[1], 100)
    y  = amp * fn(omega * x + phase)
    plt.plot(x, y)
    plt.plot(-phase/omega, 0, 'or')
    plt.xlim(domain)
    plt.ylim([-4, 4])

InteractivePlot.png

Recommended Posts

Lassen Sie uns ein Diagramm erstellen, auf das mit IPython geklickt werden kann
[Python] Erstellen Sie ein Diagramm, das mit Plotly verschoben werden kann
Erstellen Sie eine Spinbox, die mit Tkinter in Binär angezeigt werden kann
Erstellen Sie ein Währungsdiagramm, das mit Plotly (2) verschoben werden kann.
Erstellen Sie eine Spinbox, die mit Tkinter in HEX angezeigt werden kann
Lassen Sie uns eine GUI mit Python erstellen.
Machen wir einen Blockbruch mit wxPython
Lassen Sie uns ein Diagramm mit Python erstellen! !!
Lassen Sie uns mit Python ein Shiritori-Spiel machen
Lassen Sie uns mit Python langsam sprechen
Lassen Sie uns mit PLY 1 eine einfache Sprache erstellen
Erstellen Sie ein Webframework mit Python! (1)
Machen wir mit Pylearn 2 eine dreiäugige KI
Machen wir einen Twitter-Bot mit Python!
Erstellen Sie ein Webframework mit Python! (2)
Wie man einen Janken-Bot macht, der leicht bewegt werden kann (Kommentar)
Erstellen Sie eine Web-App, die mit Plotly Dash einfach visualisiert werden kann
Dateitypen, die mit Go verwendet werden können
Listen Sie Pakete auf, die mit pip aktualisiert werden können
Ersetzen wir UWSC durch Python (5) Machen wir einen Roboter
Rufen Sie eine Liste der Kameraparameter ab, die mit cv2.VideoCapture festgelegt werden können, und machen Sie daraus einen Wörterbuchtyp
Hinweise zum Erstellen von Zahlen, die mit matplotlib in Zeitschriften veröffentlicht werden können
Formatieren Sie DataFrame-Daten mit Pytorch in ein Formular, das mit NN trainiert werden kann
Erstellen Sie Folien mit iPython
Versuchen Sie, ein einfaches Spiel mit Python 3 und iPhone zu erstellen
Liste der Farben, die mit tkinter (Denkmal) eingestellt werden können
Hinweise zu Python-Kenntnissen, die mit AtCoder verwendet werden können
Lassen Sie uns das Abhängigkeitsmanagement mit pip etwas einfacher machen
Lassen Sie uns eine Mac-App mit Tkinter und py2app erstellen
Versuchen Sie, mit Rhinoceros / Grasshopper / GHPython ein sphärisches Gitter zu erstellen
[Super einfach] Machen wir einen LINE BOT mit Python.
Grenzwerte, die mit MeCab sofort analysiert werden können
Konvertieren Sie Bilder aus dem FlyCapture SDK in ein Formular, das mit openCV verwendet werden kann
Lassen Sie uns eine App erstellen, die ähnliche Bilder mit Python und Flask Part2 durchsuchen kann
Ich habe versucht, eine Memo-App zu erstellen, die Pomodoro sein kann, aber eine Reflexionsaufzeichnung
Lassen Sie uns mit Python einen Web-Socket-Client erstellen. (Zugriffstoken-Authentifizierung)
Formatübersicht der Formate, die mit gensim serialisiert werden können
Machen wir einen Discord Bot.
Es scheint, dass Skeleton Tracking mit RealSense durchgeführt werden kann
NumPy-Nullen können auch bei einer Größe von 0 definiert werden
Erstellen wir ein Skript, das sich bei Ideone.com in Python registriert.
Lassen Sie uns ein PRML-Diagramm mit Python, Numpy und matplotlib erstellen.
Machen wir Othello mit wxPython
Lassen Sie uns einen Roboter bauen, der den Zauberwürfel löst! 2 Algorithmus
Machen Sie eine Lotterie mit Python
Lassen Sie uns einen Roboter bauen, der den Zauberwürfel löst! 1. Übersicht
Erstellen Sie eine Web-API, die Bilder mit Django liefern kann
Implementieren Sie einen Thread, der durch Ausnutzen von Yield angehalten werden kann
Ich habe die Vorbehandlung untersucht, die mit PyCaret durchgeführt werden kann
Ich habe ein Plug-In erstellt, das "Daruma-san Fell" mit Minecraft ausführen kann
Machen Sie ein Feuer mit kdeplot
Bei der Entwicklung mit Ipython kann Scrapy nicht mehr gelesen werden
Sie können es mit Kopie versuchen! Lassen Sie uns ein cooles Netzwerkdiagramm mit networkx von Python zeichnen
Verstehen Sie die Wahrscheinlichkeiten und Statistiken, die für das Fortschrittsmanagement mit einem Python-Programm verwendet werden können
Über die Sache, dass Fackelzusammenfassung wirklich verwendet werden kann, wenn ein Modell mit Pytorch erstellt wird
[Python] Ein Programm, das die maximale Anzahl von Spielzeugen findet, die mit Ihrem Geld gekauft werden können
Erstellen Sie mit Selenium ein Programm, mit dem Sie Ihr Lieblingsbild erstellen können