SlideShare una empresa de Scribd logo
1 de 6
Descargar para leer sin conexión
widgets
November 10, 2022
1 Interfaces de usuario en Jupyter con ipywidgets
Jupyter y IPython permiten no sólo visualizar datos sino también interactuar con ellos en tiempo
real
Para lograr esto estudiaremos los componentes de la librería ipywidgets
1.1 ¿Qué es un widget?
Un widget es un elemento gráfico que permite interactuar con una aplicación
Un conjunto de widgets forman una interfaz de usuario gráfica (Graphical user interface o GUI)
La siguiente imagen muestra los widgets típicos que se encuentran en las aplicaciones de PC
La librería ipywidgets provee controles que permiten interactuar con funciones de Python
Entre los muchos widgets disponibles se encuentran: - Botones e selectores (check-box) - Listas
desplegables (combo-box) - Campos de ingreso de texto (text-box) - Deslizadores (sliders)
Instalación
La forma más sencilla de instalar es usando conda
conda install ipywidgets
Si lo instalas de otra manera (pip o python setup.py) es necesario habilitar la extensión
pip install ipywidgets --user
jupyter nbextension enable --py widgetsnbextension
1.2 Creación semi-automática de widgets
Una manera rápida de implementar widgets es usar el decorador interact
Al aplicar el decorador a una función convertiremos sus argumentos de entrada en
widgets
Cada entrada genera y se enlaza a un widget según su tipo:
• Un entero produce un widget IntSlider
• Un flotante produce un widget FloatSlider
• Un booleando produce un widget Checkbox
• Una lista produce un widget Dropdown
• Un string produce un widget Text
1
Los argumentos del decorador permiten entregar algunas opciones a los widgets
[6]: %matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import ipywidgets as widgets
[8]: @widgets.interact(a=(0,20,2), b=(0,5,0.01))
def controles(a=0,b=0):
display(a,b)
interactive(children=(IntSlider(value=0, description='a', max=20, step=2),␣
↪FloatSlider(value=0.0, description=…
1.2.1 Aplicaciones a Series de Fourier
𝑓(𝑡) =
𝑎0
2
+
∞
∑
𝑘=1
[𝑎𝑘 cos (
2𝜋𝑘
𝑇
𝑡) + 𝑏𝑘 sin (
2𝜋𝑘
𝑇
𝑡)]
Serie de Fourier
𝑓(𝑡) = 𝑡, −2 ≤ 𝑡 ≤ 2
[70]: # para el tiempo
%matplotlib notebook
t=np.arange(0,60.,0.01)
def serie_f(t,T,N):
suma=np.zeros_like(t)# crea vector de ceros del mismo tamano de t
for k in range(1,N+1):
suma += (4/np.pi)*((-1)**(k+1)/k)*np.sin((2*np.pi*k/T)*t)
return suma
fig,eje=plt.subplots(figsize=(9,5),tight_layout=True)
#eje.plot(t,serie_f(t,2,2))
def grafica(T,N):
eje.cla()
eje.plot(t,serie_f(t,T,N))
widgets.interact(grafica,T=widgets.FloatSlider(min=0.01,max=6,step=0.1,value=0.
↪2),
N=widgets.IntSlider(min=1,max=222,step=1))
<IPython.core.display.Javascript object>
<IPython.core.display.HTML object>
2
interactive(children=(FloatSlider(value=0.2, description='T', max=6.0, min=0.
↪01), IntSlider(value=1, descripti…
[70]: <function __main__.grafica(T, N)>
[1]: # analisis del audio de esa senal
from IPython.display import Audio
Audio(serie_f(t,11,100),rate=3100)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
Input In [1], in <cell line: 4>()
1 # analisis del audio de esa senal
2 from IPython.display import Audio
----> 4 Audio(serie_f(t,11,100),rate=3100)
NameError: name 'serie_f' is not defined
[110]: F=44100
time=np.arange(0.,3,1/F)
senal=0.5*np.sin(2*np.pi*220*time)
Audio(senal,rate=F)
[110]: <IPython.lib.display.Audio object>
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
3
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
4
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
5
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
[ ]:
6

Más contenido relacionado

Similar a widgets.pdf (20)

Taller PyGTK
Taller PyGTKTaller PyGTK
Taller PyGTK
 
Matlab
MatlabMatlab
Matlab
 
Matlab
MatlabMatlab
Matlab
 
Tema6resumido
Tema6resumidoTema6resumido
Tema6resumido
 
Intro opengl
Intro openglIntro opengl
Intro opengl
 
Semana 7 Proyecto Misión TIC 2022
Semana 7 Proyecto Misión TIC 2022Semana 7 Proyecto Misión TIC 2022
Semana 7 Proyecto Misión TIC 2022
 
Interfaz gráfica de usuario
Interfaz gráfica de usuarioInterfaz gráfica de usuario
Interfaz gráfica de usuario
 
ventanas swing en java
ventanas swing en javaventanas swing en java
ventanas swing en java
 
Swing
SwingSwing
Swing
 
Swing
SwingSwing
Swing
 
Swing
SwingSwing
Swing
 
Jquery 2
Jquery 2Jquery 2
Jquery 2
 
Awt
AwtAwt
Awt
 
Swing
SwingSwing
Swing
 
Tutorial de matplotlib
Tutorial de matplotlibTutorial de matplotlib
Tutorial de matplotlib
 
Programación i
Programación iProgramación i
Programación i
 
Vbr Awt 01
Vbr Awt 01Vbr Awt 01
Vbr Awt 01
 
Curso android studio
Curso android studioCurso android studio
Curso android studio
 
Curso android studio
Curso android studioCurso android studio
Curso android studio
 
Manual de android
Manual de androidManual de android
Manual de android
 

Último

Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfMARIAPAULAMAHECHAMOR
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxCeciliaGuerreroGonza1
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docxAleParedes11
 

Último (20)

Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdf
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
 

widgets.pdf

  • 1. widgets November 10, 2022 1 Interfaces de usuario en Jupyter con ipywidgets Jupyter y IPython permiten no sólo visualizar datos sino también interactuar con ellos en tiempo real Para lograr esto estudiaremos los componentes de la librería ipywidgets 1.1 ¿Qué es un widget? Un widget es un elemento gráfico que permite interactuar con una aplicación Un conjunto de widgets forman una interfaz de usuario gráfica (Graphical user interface o GUI) La siguiente imagen muestra los widgets típicos que se encuentran en las aplicaciones de PC La librería ipywidgets provee controles que permiten interactuar con funciones de Python Entre los muchos widgets disponibles se encuentran: - Botones e selectores (check-box) - Listas desplegables (combo-box) - Campos de ingreso de texto (text-box) - Deslizadores (sliders) Instalación La forma más sencilla de instalar es usando conda conda install ipywidgets Si lo instalas de otra manera (pip o python setup.py) es necesario habilitar la extensión pip install ipywidgets --user jupyter nbextension enable --py widgetsnbextension 1.2 Creación semi-automática de widgets Una manera rápida de implementar widgets es usar el decorador interact Al aplicar el decorador a una función convertiremos sus argumentos de entrada en widgets Cada entrada genera y se enlaza a un widget según su tipo: • Un entero produce un widget IntSlider • Un flotante produce un widget FloatSlider • Un booleando produce un widget Checkbox • Una lista produce un widget Dropdown • Un string produce un widget Text 1
  • 2. Los argumentos del decorador permiten entregar algunas opciones a los widgets [6]: %matplotlib inline import matplotlib.pyplot as plt import numpy as np import ipywidgets as widgets [8]: @widgets.interact(a=(0,20,2), b=(0,5,0.01)) def controles(a=0,b=0): display(a,b) interactive(children=(IntSlider(value=0, description='a', max=20, step=2),␣ ↪FloatSlider(value=0.0, description=… 1.2.1 Aplicaciones a Series de Fourier 𝑓(𝑡) = 𝑎0 2 + ∞ ∑ 𝑘=1 [𝑎𝑘 cos ( 2𝜋𝑘 𝑇 𝑡) + 𝑏𝑘 sin ( 2𝜋𝑘 𝑇 𝑡)] Serie de Fourier 𝑓(𝑡) = 𝑡, −2 ≤ 𝑡 ≤ 2 [70]: # para el tiempo %matplotlib notebook t=np.arange(0,60.,0.01) def serie_f(t,T,N): suma=np.zeros_like(t)# crea vector de ceros del mismo tamano de t for k in range(1,N+1): suma += (4/np.pi)*((-1)**(k+1)/k)*np.sin((2*np.pi*k/T)*t) return suma fig,eje=plt.subplots(figsize=(9,5),tight_layout=True) #eje.plot(t,serie_f(t,2,2)) def grafica(T,N): eje.cla() eje.plot(t,serie_f(t,T,N)) widgets.interact(grafica,T=widgets.FloatSlider(min=0.01,max=6,step=0.1,value=0. ↪2), N=widgets.IntSlider(min=1,max=222,step=1)) <IPython.core.display.Javascript object> <IPython.core.display.HTML object> 2
  • 3. interactive(children=(FloatSlider(value=0.2, description='T', max=6.0, min=0. ↪01), IntSlider(value=1, descripti… [70]: <function __main__.grafica(T, N)> [1]: # analisis del audio de esa senal from IPython.display import Audio Audio(serie_f(t,11,100),rate=3100) --------------------------------------------------------------------------- NameError Traceback (most recent call last) Input In [1], in <cell line: 4>() 1 # analisis del audio de esa senal 2 from IPython.display import Audio ----> 4 Audio(serie_f(t,11,100),rate=3100) NameError: name 'serie_f' is not defined [110]: F=44100 time=np.arange(0.,3,1/F) senal=0.5*np.sin(2*np.pi*220*time) Audio(senal,rate=F) [110]: <IPython.lib.display.Audio object> [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: 3
  • 4. [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: 4
  • 5. [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: 5
  • 6. [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: [ ]: 6