0% encontró este documento útil (0 votos)
88 vistas38 páginas

Parte2 Matplotlib

El documento presenta un curso de introducción a Python orientado a problemas de optimización en ingeniería, dividido en dos bloques: uno sobre Python y sus librerías para análisis de datos, y otro sobre algoritmos genéticos. Se detallan las partes del primer bloque, que abordan desde conceptos básicos de Python hasta el uso de librerías como Numpy, Matplotlib, Pandas, Scipy y Seaborn. Además, se incluyen ejercicios prácticos y ejemplos sobre la visualización de datos utilizando Matplotlib.

Cargado por

Ruben Fernandez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
88 vistas38 páginas

Parte2 Matplotlib

El documento presenta un curso de introducción a Python orientado a problemas de optimización en ingeniería, dividido en dos bloques: uno sobre Python y sus librerías para análisis de datos, y otro sobre algoritmos genéticos. Se detallan las partes del primer bloque, que abordan desde conceptos básicos de Python hasta el uso de librerías como Numpy, Matplotlib, Pandas, Scipy y Seaborn. Además, se incluyen ejercicios prácticos y ejemplos sobre la visualización de datos utilizando Matplotlib.

Cargado por

Ruben Fernandez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Introducción a Python Orientado

a Problemas de Optimización en
Ingeniería (VI Edición, 2021)

Daniel Gutiérrez Reina, [Link]@[Link]


Ignacio González Prieto, ignaciogp87@[Link]
Bloques del curso

 Bloque I: Introducción a Python y sus librerías para


análisis de datos (20 horas)
 Bloque II: Introducción a los algoritmos genéticos (10
horas)
Partes del primer bloque

 Parte I (Python General): Aprender nociones básicas sobre programación en


Python. Tipos de objetos (listas, tuplas, diccionarios, etc.), manejo de
funciones, control de flujo, y mucho más!!! → 12 horas aprox.
 Parte II (Numpy): Vectores o arrays multi dimensionales en Python. → 2,5
horas aprox.
 Parte III (Maplotlib): Representación gráfica en Python. → 2,5 hora aprox.
 Parte IV (Pandas): Manejo de datos en Python (dataframe). → 2,5 horas
aprox.
 Parte V (Scipy): Librería científica → 1 hora.
 Parte VI (Seaborn): Visualización de datos → 1 hora.
Recapitulando … Punto de partida
Hasta ahora sólo hemos aprendido los componentes más básicos de Python.

Vamos a comenzar a aprender los paquetes de Python más utilizados para el análisis de datos.
Tercer módulo del curso
Matlplotlib(2 horas aprox.):

1) Introducción a Matplotlib.
2) Pyplot → conceptos generales.
3) Tipo de gráficas y sus propiedades: histogramas, dispersión, diagrama de
barras, subplot, etc.
4) Matplotlib con objetos.
5) Estilos.
Vamos a graficar cosas …. Matplotlib
Paquete muy potente para realizar graficas → Realmente sólo vamos a ver una
introducción un curso completo daría para un número de horas incluso mayor que
este curso.

Página oficial:

[Link]

La documentación no es muy buena, más bien liosa. La forma más sencilla es


encontrar un ejemplo de la gráfica que queremos realizar e intentar modificar el
código a nuestro problema.
Formas de trabajar con Matplotlib
Existen tres formas de trabajar con Matplotlib:

• pyplot → Es un módulo sencillo que contiene funciones para graficas


funciones (este le vamos a dedicar más tiempo) → state-based, state
machine.
[Link]

• pylab → Es un módulo que integra numpy y pyplot en un mismo espacio de


nombre (no lo vamos a ver en este curso).
[Link]

• OO (object oriented) → Todo es un objeto, es la forma más compleja, pero


también la más potente.
Figuras en Matplotlib
Anatomía de una figura:
Primer paso … incluir Matplotlib …
Mi prime script con Matplotlib: → [Link]

La figura la podemos guardar … botón


derecho … o [Link](“[Link]”)

Pyplot es el módulo más básico dentro del paquete matplotlib.


→ Se parece mucho al sintaxis de Matlab.
Compliquemos un poco el asunto → Vamos a
graficar una función
Vamos a representar la función x^2.

→ Abrir [Link]

Ejercicio:
Representar gráficamente la función x^3 + 1
en el intervalo [-1, 1].

Más información: [Link]


Seguimos … Rejilla, ejes y más cosas …
→ Abrir [Link]

Resumen:

Límites ejes → [Link]([xmin, xmax, ymin, ymax])


Etiqueta ejes → [Link](“<tag"), [Link](“tag")
Título → [Link](“Título")
Legenda → [Link](<lista>,<posición>)
Guardar figura → [Link](“[Link]”)
Customizar…
Ejercicio:
Poner “bonita” la gráfica del ejercicio anterior f= x^3 + 1

Resumen:

Límites ejes → [Link]([xmin, xmax, ymin, ymax])


Etiqueta ejes → [Link](“<tag"), [Link](“tag")
Título → [Link](“Título")
Legenda → [Link](<lista>,<posición>)
Guardar figura → [Link](“[Link]”)

Colores:
[Link]
Varias funciones en una figura
Vamos a graficar varias funciones a la vez, por ejemplo:
f1 = x^2 y f= x^3 en el intervalo [-1, 1]

→ Abrir [Link]
Hagamos unos ejercicios
Ejercicio:
Graficar en una misma figura las funciones:
𝑦1 = 𝑥
𝑦2 = 𝑥 2
𝑦3 = 𝑥 3 en x ∈ [−1,1]

Utilizando el método plot y un bucle for representar cada función con un color y
un marcador diferente.

También lo podéis hacer utilizando funciones universales (vectorización de


funciones).
Tablas útiles para decorar las figuras
Marcadores: Tabla de colores:

[Link]

Estilos de líneas:

Palabras clave:
Antes de seguir … Un error típico cuando se
utiliza el método plot → Mismas dimensiones!!
→ Abrir [Link]

Si la gráfica aparece en blanco normalmente es que


ha habido un error.
Tipos de gráficas
Histogramas
→ Abrir grafica6

Nadie se sabe todos los parámetros


es imposible ☺ → Se consultan cuando se
vaya a utilizar
Diagramas de dispersión (Scatter plot)
→ Abrir [Link]
Diagramas de barras
→ Abrir [Link]

Para las divisiones de los ejes:


xticks(<posiciones>, <valores>)
yticks(<posiciones>, <valores>)

Ojo, la anchura de las barras por


defecto es de 0,8 (versiones anteriores).
Barras de errores
→ Abrir [Link]
Diagrama de barra con errores
Vamos a ver un ejemplo mucho más completo, 1) tomamos los datos de un archivo,
2) calculamos intervalos de confianza, y 3) visualizamos los resultados.

→ Abrir [Link]
→ Se usa [Link]
Diagrama de bigotes
Visualizar los salaries en Estados Unidos

→ Abrir [Link]
→ Se usa [Link]
Representando matrices 2D
[Link]()

→ Abrir [Link]

Tutorial sobre mapas de colores:


[Link]
Subplot …
Varias gráficas en una misma figura

→ Abrir [Link] 221 222

223 224
Propiedades de las figuras

• <num> → número de figura


• <figsize> → Tamaño de la figura en pulgadas 2,54 cm
• <dpi> → resolución de la figura

Los valores por defecto están guardados en un diccionario rcParams.

Si queremos varías figuras, tenemos que utilizar un num para cada una .
Una pincelada de Matplotlib con objeto
En Python todo es un objeto …

Jerarquía de objetos

Detalles importantes:

• Una figura puedes tener distintos axes.


• Cada objeto axes es un Gráfico.
• Cada objeto axes tienes al menos dos axis.
Una pincelada de Matplotlib con objeto
¿Qué hemos estado haciendo hasta ahora con plt? Por ejemplo, con [Link].

Función de alto nivel Selecciona el Selecciona el axes de


que crea la figura y axes actual. la figura que esté activa.
y los axes
Una pincelada de Matplotlib con objeto
Los atributos de los gráficos (axes):

Para cada atributo realmente primero tenemos que obtener el axes actual y aplicar
el método correspondiente sobre el objeto.

Ejemplos:

[Link] →

Ahora casi todos los métodos que se aplican sobre los objetos axes son de tipo set_
Una pincelada de Matplotlib con objeto
Ejemplos

→ Abrir [Link]
Una pincelada de Matplotlib con objetos
Ejemplos:

→ Abrir [Link]

El texto entre $$ en títulos y ejes → Latex.


Diagrama circular
Más diagramas en Python…

→ Abrir [Link]
Gráficas 2D
→ Abrir [Link] 𝑧 = cos(𝑥 2 + 𝑦 2 )

-Contourf(x,y,z)

-Meshgrid(x,y)

-Colorbar

-Axis(‘square’)
Gráficas 2D
→ Abrir [Link]

-Meshgrid(x,y)

Crea una malla a partir


de dos vectores 1D

Está inspirado en la
función de Matlab.
Gráficas 2D
-Meshgrid(x,y) 𝑧 = cos(𝑥 2 + 𝑦 2 )

-Contourf(x,y,z)

Dibujamos la superficie. La z es la función.

-Colorbar()
Se asigna a un mapa de colores.
[Link]
aps_reference.html

-Axis(‘square’)
Para que la figura salga cuadrada.
Gráficas 3D
→ Abrir [Link] 𝑧 = cos( 𝑥 2 + 𝑦 2 )

-plot_surface

-[Link](projection=‘3d’)

-Nuevos módulos
Estilos
[Link](“nombre estilo”)

Abrir [Link]
→ Hay que tener en cuenta que el estilo permanece constante durante toda la sesión

[Link]
Bibliografía

 Matplotlib for Python Developers. Build remarkable publication quality plots


the easy way. Sandro Tosi. 2009.

 Aprendiendo a programar en Python. Universidad de Málaga.


[Link]
python_2501/

 Python for data analysis O’Reilly


[Link]

 Documentación oficial: [Link]

También podría gustarte