Faisons un diagramme sur lequel on peut cliquer avec IPython

Je vais vous montrer comment créer un diagramme sur lequel il est possible de cliquer avec IPython. Le moyen le plus simple est d'utiliser la fonction ʻinteract (ʻIPython.html.widgets.interact) qui crée automatiquement une interface utilisateur interactive.

Chargez d'abord le module requis.

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

Ensuite, définissez d'abord la fonction que vous souhaitez utiliser de manière interactive.

def f(x):
    print(x)

Ensuite, passez la fonction que vous souhaitez utiliser au premier argument de la fonction ʻinteract`, et passez un argument comme celui-ci (abréviation de widget) comme argument de mot-clé. C'est tout. Lorsque vous exécutez le code ci-dessous, un curseur apparaîtra, sur lequel il est amusant de cliquer.

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

InteractivePlot01.png

Ainsi, le haut et le bas sont complètement synonymes. Le haut est de savoir comment transmettre l'abréviation du widget et le bas, comment transmettre une instance de widget.

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

InteractivePlot01.png

Si vous voulez définir la valeur initiale, utilisez ʻinteract` comme décorateur.

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

InteractivePlot02.png

Les widgets typiques sont les suivants. «L'argument mot-clé de la fonction interact» est soit un argument similaire à gauche (abréviation de widget), soit une instance du widget à droite.

Argument de mot-clé Widget
True or False CheckboxWidget
u'Bonjour le monde!' TextareaWidget
Utilisation d'entiersvalue or (min,max) or (min,max,step) IntSliderWidget
Utiliser des nombres réelsvalue or (min,max) or (min,max,step) FloatSliderWidget
('orange','apple') or {'one':1,'two':2} DropdownWidget

Lorsqu'il est combiné avec le dessin, il sera encore plus amusant de cliquer. La figure ci-dessous est une démo qui dessine dynamiquement $ y = A , sin (\ omega x + \ alpha) $. Si vous modifiez les trois paramètres $ A \ in [0.1, 4.0], \ omega \ in [0.1, 4.0], \ alpha \ in [- \ pi, \ pi] $ avec le curseur, le chiffre changera en conséquence. Faire. C'est marrant!

%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

Faisons un diagramme sur lequel on peut cliquer avec IPython
[Python] Créez un graphique qui peut être déplacé avec Plotly
Créez une Spinbox qui peut être affichée en binaire avec Tkinter
Créez un graphique des devises qui peut être déplacé avec Plotly (2)
Créez une Spinbox pouvant être affichée dans HEX avec Tkinter
Faisons une interface graphique avec python.
Faisons une rupture de bloc avec wxPython
Faisons un graphe avec python! !!
Faisons un jeu de shiritori avec Python
Faisons la voix lentement avec Python
Faisons un langage simple avec PLY 1
Créez un framework Web avec Python! (1)
Faisons une IA à trois yeux avec Pylearn 2
Faisons un bot Twitter avec Python!
Créez un framework Web avec Python! (2)
Comment créer un bot Janken qui peut être facilement déplacé (commentaire)
Créez une application Web qui peut être facilement visualisée avec Plotly Dash
Types de fichiers pouvant être utilisés avec Go
Répertorier les packages pouvant être mis à jour avec pip
Remplaçons UWSC par Python (5) Faisons un robot
Obtenez une liste des paramètres de caméra qui peuvent être définis avec cv2.VideoCapture et faites-en un type de dictionnaire
Notes pour créer des figures pouvant être publiées dans des revues avec matplotlib
Formatez les données DataFrame avec Pytorch sous une forme pouvant être entraînée avec NN
Créer des diapositives avec iPython
Essayez de créer un jeu simple avec Python 3 et iPhone
Liste des couleurs pouvant être définies avec tkinter (mémorial)
Notes sur les connaissances Python utilisables avec AtCoder
Facilitons un peu la gestion des dépendances avec pip
Créons une application Mac avec Tkinter et py2app
Essayez de créer une grille sphérique avec Rhinoceros / Grasshopper / GHPython
[Super facile] Faisons un LINE BOT avec Python.
Limites qui peuvent être analysées à la fois avec MeCab
Convertir des images du SDK FlyCapture en un formulaire pouvant être utilisé avec openCV
Créons une application capable de rechercher des images similaires avec Python et Flask Part2
J'ai essayé de faire une application mémo qui peut être pomodoro, mais un enregistrement de réflexion
Créons un client de socket Web avec Python. (Authentification par jeton d'accès)
Récapitulatif du format des formats qui peuvent être sérialisés avec gensim
Faisons un robot Discord.
Il semble que le suivi des squelettes puisse être effectué avec RealSense
Les zéros NumPy peuvent être définis même avec une taille de 0
Créons un script qui s'enregistre avec Ideone.com en Python.
Créons un diagramme PRML avec Python, Numpy et matplotlib.
Faisons Othello avec wxPython
Faisons un robot qui résout le Rubik Cube! 2 Algorithme
Faites une loterie avec Python
Faisons un robot qui résout le Rubik Cube! 1. Vue d'ensemble
Créez une API Web capable de fournir des images avec Django
Implémentez un thread qui peut être suspendu en exploitant le rendement
J'ai étudié le prétraitement qui peut être fait avec PyCaret
J'ai créé un plug-in qui peut faire "Daruma-san tombé" avec Minecraft
Faire un feu avec kdeplot
Lors du développement avec ipython, scrapy ne peut plus être lu
Vous pouvez l'essayer avec une copie! Dessinons un diagramme de réseau sympa avec networkx de Python
Comprendre les probabilités et les statistiques qui peuvent être utilisées pour la gestion des progrès avec un programme python
À propos du fait que le résumé de la torche peut être vraiment utilisé lors de la construction d'un modèle avec Pytorch
[Python] Un programme qui trouve le nombre maximum de jouets pouvant être achetés avec votre argent
Créez un programme qui peut générer votre image préférée avec Selenium