Saltar navegación

Activa JavaScript para disfrutar de los vídeos de la Mediateca.

Trabajando con MatPlotLib - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 10 de diciembre de 2024 por Mario S.

10 visualizaciones

Descargar la transcripción

Bueno, en este vídeo vamos a ver cómo trabajar con Matplotlib, con la librería Matplotlib, que es una de las más utilizadas para hacer gráficas. 00:00:00
En principio, bueno, he comentado todo el código y lo vamos viendo ahora paso a paso. 00:00:10
No tiene mucho, como podéis ver, son 20 líneas de código. 00:00:16
O ni eso, ¿vale? 00:00:22
Y no tiene más complicación que, bueno, pues no tiene más complicación el hacer una gráfica tan sencilla como esta que estamos haciendo 00:00:24
Que es meter valores en X y en Y 00:00:36
Pero si os metéis en la documentación de MacLeodly veréis que podéis hacer muchísimas cosas, ¿vale? 00:00:40
con esta librería no sólo gráficas típicas de barras de puntos de dispersión de se pueden hacer 00:00:48
bastantes más cosas y muy interesantes bueno qué es lo que me hace falta primero antes de 00:00:55
nada tener esa librería del macro lib entonces si yo me voy a la documentación veo que bueno 00:01:06
Dentro de la guía de usuario, la parte de la guía rápida, me dice que tengo que importar el matplotlib.pyplot y aquí lo meto en un alias como plt. 00:01:15
Yo he hecho exactamente eso. 00:01:31
Me dice también importar el numpy como np. 00:01:33
Esto ahora mismo no me hace falta. 00:01:37
Entonces vais a ver ahora en el código que no le he metido el import numpy as np. 00:01:39
Vale, bueno, pues entonces me he bajado el Matplotlib, lo tengo instalado en el equipo, vale, recordad que es una librería externa, entonces nos lo hemos bajado, le he puesto tal cual la línea y empiezo a trabajar. 00:01:45
Bueno, si quiero, o cómo funciona el Matplotlib. El Matplotlib no necesita una ventana de las que estamos creando hasta ahora en Python. La propia librería genera una ventana en la que aparece la gráfica. 00:02:04
esa ventana nosotros luego la podemos embeber dentro de nuestras ventanas de python pero por 00:02:22
ahora lo único que hace es visualizarnos una segunda ventana del matrol y con una serie de 00:02:30
botones que nos pueden ayudar a la hora de trabajar sobre la gráfica o guardar esa gráfica vale 00:02:38
Entonces lo importo, le pongo el alias, le pongo el plt, veis que tengo aquí abajo una línea que es plt.show, esto lo que hace justo es mostrar esa ventana que hemos ido configurando en estas líneas que hay arriba y que están todas comentadas. 00:02:44
Entonces, si yo quito, lo descomento y dejo el PLT Show, esto me va a visualizar lo que hemos configurado. 00:03:05
En este caso, está todo comentado, así que no he configurado nada. 00:03:16
Si yo le doy aquí al Play, ejecuto esa aplicación, no me hace nada. 00:03:20
Vale, bueno, lo que le hace falta a Matplotlib es pasarle unas tramas de datos. 00:03:26
En este caso, una trama para el eje X, una trama de datos para el eje Y, y que sea siempre, en la medida de lo posible, el mismo número de datos. 00:03:35
En la medida de lo posible. Bueno, entonces, una vez que tú le pasas una lista de valores, una lista de datos, lo que haces es una trama, 00:03:44
que matronlib la va a recibir a través del punto plot 00:03:56
vale, el punto plot es 00:04:02
a ver, vale, si yo pongo aquí 00:04:05
por ejemplo, en cualquier lado, vale, aquí mismo 00:04:11
plt.plot 00:04:16
esto lo que debería recibir es, son una lista de datos 00:04:21
Si yo lo dejo en blanco y solo pongo estas tres líneas, el from matplotlib import pipe plot as plt, el plt.plot y el plt.show, esto ya como mínimo me debe dibujar esa ventana que me está proporcionando el matplotlib. 00:04:27
Vale, entonces me va a dibujar esto, no hemos metido datos, no hemos hecho nada, no le hemos configurado nada, entonces, bueno, pues me muestra una ventana del Matplotlib, vale, estándar, con una serie de botones 00:04:48
que nos van a permitir ir configurando o guardar la geometría o focalizarnos en una posición, mover la gráfica si son muchos datos, 00:05:05
volver a la vista original, ir moviéndonos hacia la izquierda o hacia la derecha en la gráfica, en el eje X. 00:05:18
Bueno, tenemos ahí estas opciones que no están mal. 00:05:24
Veis que también, según vamos pasando el cursor por encima de la gráfica, me va dando la coordenada en X e Y. 00:05:28
Bueno, vale, entonces solo con tres líneas MacroLib ya nos hace esto. Vale, si lo que hacemos ahora es pasarle datos, vale, yo lo que hago es me creo una variable que es datosX, me creo una variable que es datosY. 00:05:35
¿Vale? En datos X, o sea, en el eje horizontal voy a poner 1, 2, 3, 4 y 5. En el eje vertical voy a poner 1.001, 1.100, 1.300, 1.800 y 1.600. ¿Vale? Uno es de tipo string, otro es de tipo número, me da igual. 00:05:55
Esto va a ir casando el valor de la lista en una posición con el valor de la segunda lista en esa misma posición, ¿vale? 00:06:14
Entonces yo tengo estas dos listas, estas dos listas hay que hacer la trama, o sea, aquí están asignadas a una variable pero todavía no está hecha la trama. 00:06:27
Esto lo hacemos con, bueno, lo voy a seguir escribiendo aquí, esto sería tan simple como decirle, vale, hazme la trama, el plt.plot de datos x, datos x y datos y, vale, hazme la trama de datos x y datos y. 00:06:38
Esto ya va a coger estos datos 00:07:04
Y directamente nos va a dibujar esta gráfica 00:07:06
Vale, esto ya me está diciendo 00:07:09
En el eje X ha metido 1, 2, 3, 4 y 5 00:07:13
Lo que le hemos dicho 00:07:17
Y luego va metiendo esos valores 00:07:18
Que también le hemos ido diciendo 00:07:20
Y luego nos va haciendo la gráfica 00:07:23
Y va casando cada uno de los datos 00:07:26
De las diferentes listas 00:07:29
con los valores que le hemos pasado, y ya tendría mi gráfica, o sea, así con tres líneas, pues ya tendríamos hecha esa gráfica con esos valores que hemos metido, 00:07:31
vale, lo que os decía un poco, si jugando con estos botones, si le doy al inicio, pues me va a mostrar la gráfica de inicio, 00:07:45
puedo ir moviéndome hacia la izquierda o hacia la derecha, aquí no porque hay pocos valores 00:07:53
pero en el momento en el que haga una gráfica que se vaya alimentando 00:07:57
de forma dinámica, pues entonces sí, vale, podría coger 00:08:01
y moverla directamente hacia arriba 00:08:05
hacia abajo, hacia la izquierda y hacia la derecha, vale 00:08:10
podríamos focalizar, centrarnos 00:08:12
en un punto solo, vale, podemos coger 00:08:17
Y modificar algunas opciones 00:08:22
Pues de los parámetros 00:08:27
Todas estas cosillas 00:08:30
Vale 00:08:31
Y podemos 00:08:32
A ver 00:08:35
Esto no tiene 00:08:36
Por favor 00:08:37
Podemos 00:08:38
Vamos a poner este en el inicio 00:08:40
Salvar esta figura 00:08:42
Vale, le daríamos aquí 00:08:44
Y nos salvaría un PNG con este gráfico 00:08:46
Vale 00:08:49
son opciones que luego las vamos a poder hacer desde nuestro código 00:08:49
vale que más hemos ido viendo con el matron lee bueno pues ya es empezar a 00:08:54
tunear esa gráfica entonces qué es lo que le pongo yo aquí 00:08:58
bueno aquí meto lo mismo que escrito aquí pero si veis aquí en el comentario 00:09:05
hay un label el label es 00:09:12
bueno el label es la etiqueta que va a acompañar o la etiqueta que denomina a esa gráfica vale 00:09:17
entonces para ver eso bien vamos a ver qué pasaría si nosotros cogemos metemos unos valores unas dos 00:09:27
tramas de valores para x e y hacemos el plot tal cual lo tengo aquí vamos a dejar esto comentado 00:09:36
y os lo voy a poner otra vez, que va a ser esto mismo, vale, este mismo, a ver si me deja, vale, entonces tengo estos valores, hago una trama para que me dibuje estos valores, 00:09:45
Y luego meto otros valores, por ejemplo, estos datos en Y, ¿vale? O sea, los datos en X los dejo, pero los datos en Y los modifico y meto, le digo a Matrolib que me dibuje otra gráfica, ¿vale? 00:10:07
Entonces, de esta forma podríamos ir haciendo varias gráficas, podríamos ir representando varios valores en la misma gráfica, ¿vale? Cada vez que yo hago un plot, hace la trama y luego me lo va a ir dibujando todo. 00:10:32
Entonces, si yo ahora mismo tengo estos datos, hago un plot, tengo estos otros datos que modifico de datos y, ¿vale? Y vuelvo a hacer un plot, lo que nos sucede, lo que vamos a ver es que nos va a hacer estas dos líneas, ¿vale? 00:10:50
una representa en el eje y unos valores y la otra representa en el eje y otros 00:11:07
valores y el eje x como no lo he modificado es siempre constante no 00:11:14
tendría sentido que lo modificará el eje x vale siempre tiene que haber uno de 00:11:19
los dos ejes que sea fijo vale entonces aquí me podría ir yo haciendo 00:11:24
diferentes gráficas ahora si hacemos muchas va a ser una locura en este caso 00:11:31
tengo dos y podemos ir metiendo bueno para que al usuario les sea más fácil de entender y metiendo 00:11:36
una etiqueta vale entonces podemos coger y pasarles a estos datos a estas tramas de datos 00:11:47
este label que es lo que me hace esto bueno si yo pongo ese label vale vamos a comentar ahora este 00:11:57
y vamos a coger directamente este este lo mismo lo comento 00:12:06
y vamos a coger este también que esto no lo quiero para nada 00:12:14
vamos a coger el que estaba vale entonces yo tengo 00:12:21
plt plot datos x x datos x datos y un label y abajo lo mismo gráfica 1 gráfica 00:12:25
vale ese label si yo lo dejo así parece que no hace nada si yo le doy ejecuto 00:12:34
lanzó el desarrollo no noto ningún cambio eso es porque es el label 00:12:40
trabaja en conjunción con 00:12:45
el ley en vale el ley en es la típica leyenda que os va a aparecer siempre en 00:12:49
la gráfica vale entonces en el momento en el que yo pongo el plt punto ley en 00:12:55
Sin hacer mucho más, puedo coger y cuando ejecutamos, cuando lanzamos nuestro desarrollo, entonces nos va a aparecer el color que pertenece a cada una de las gráficas, ¿vale? 00:13:01
En este caso, el azul es la primera gráfica que hemos lanzado, el naranja es la segunda, ¿vale? 00:13:16
Esto también lo podríamos hacer pasándoselo directamente al legend, podría ponerle aquí gráfica 1, gráfica 2, ¿vale? Todos los labels que me hicieran falta, o tantos labels como gráficas tuviera, ¿vale? 00:13:22
Y quitar este label, entonces, eso también lo podríamos hacer así, este fuera y este fuera, ¿vale? Y esto, esto tiene que ir entre corchetes, vamos a ponerlo así, esto es, ¿vale? 00:13:44
En el momento en el que le pasamos entre corchetes los label, ya nos va a mostrar lo mismo de antes, ¿vale? 00:14:22
Son dos formas de trabajar. 00:14:30
A mí me parece más cómodo poner el label directamente aquí, ¿vale? 00:14:34
Porque cada vez que vamos haciendo la trama, pues le vamos poniendo el label, la etiqueta que queremos que nos aparezca en la leyenda del gráfico, ¿vale? 00:14:45
Gráfica, y esto pues lo dejo para que me lo dibuje y ya está, ¿vale? 00:15:00
algo así vale bueno dos formas de meter esa leyenda 00:15:12
vale que más tenemos por aquí tengo 00:15:22
el título y las las laves las etiquetas los títulos en x y en y del eje x del 00:15:29
eje y en este caso plt punto title el segundo dan lo que va 00:15:37
hacer es meter un título a la gráfica vale en la parte superior de la gráfica 00:15:44
lo podemos poner plt punto x label dice años lo que va a meter es un un título 00:15:48
en el eje x de nuestra trama de datos 00:15:57
plt punto y label lo que va a meter es un título dentro de 00:16:03
el eje y vale vale esto lo lanzamos para ver cómo nos va quedando y esto ha metido el título de 00:16:10
segundo de edad a la gráfica y luego en el eje x y en el eje y nos va poniendo los x el x label y 00:16:20
el y label vale en el y label metemos gastos en el x label metemos años vale y le vamos dando forma 00:16:29
a nuestra gráfica. Ya os digo que la idea es embeber todo esto dentro de una de nuestras 00:16:37
ventanas, ya sea el teca.tk, la ventana root, o un top level. Vale, entonces, ¿qué más 00:16:43
me encuentro? Bueno, yo puedo querer hacer una gráfica que tiene una trama de datos 00:16:55
muy densa, vale, entonces podemos necesitar que nos muestre un grid, vale, esa tabla, 00:17:01
esos puntos que unen, o esa cuadrícula que nos facilita ver los datos, si ponéis el 00:17:11
grid, fijaros como ahora me ha metido estas líneas, vale, que pueden ser más fácil 00:17:18
o te pueden simplificar el ver tramas de datos muy densas, ¿vale? ¿Qué más me encuentro? El plt save, save fig, ¿vale? Este lo que hace es guardar esta figura con este nombre, con dan2, ¿vale? 00:17:27
Aquí yo ya lo tengo guardado, bueno, vamos a cogerlo, vamos a eliminar, en este caso era este, vale, lo voy a eliminar y creamos uno nuevo, eliminar, vale, entonces, en el momento en el que yo dejo el plt.savefile y le doy el nombre, no le doy ninguna ruta ni hago nada, vale, solo le doy el nombre, esto me lo va a guardar en la misma carpeta 00:17:50
donde tenemos el punto p y nuestra nuestro fichero vale nos crea ese png 00:18:23
que pues eso es una imagen y nos lo puede ir 00:18:31
o lo podemos querer luego pues para generar correos o cosas así vale que más 00:18:35
tengo bueno aquí arriba tengo un print tengo un print que lo que me hace es 00:18:42
mostrarme los diferentes estilos con los que puedo trabajar en la gráfica los 00:18:51
estilos son pues estilos que vienen ya por defecto que tienen una forma unos 00:18:55
colores un background vale y que puede estar muy bien a la hora de hacer 00:19:00
gráficas visuales 00:19:06
de una forma rápida entonces por ejemplo vamos a poner aquí un día 00:19:10
Vamos a quitar, para que no me muestre la gráfica, voy a comentar el plt.show, vale, entonces si yo lanzo el desarrollo, me ha dado toda esta información, ese print me da esta información, vale, entonces estas son las diferentes estilos que puedo utilizar que vienen ya dentro de la librería de Matroly, que luego nosotros podemos modificar y hacer estilos como queramos, ¿no? 00:19:17
pero estos ya nos vienen por defecto para usarlos 00:19:45
y bueno, pues no es tan mal 00:19:50
vale, esto nada, esto no se ve 00:19:53
vale, entonces vamos a ver por ejemplo 00:19:56
pues este de BMH 00:19:59
entonces, para aplicar un estilo 00:20:00
vamos a quitar, vamos a comentar este 00:20:03
para comentar, perdón, para aplicar un estilo 00:20:08
voy a poner el plt.use 00:20:12
perdón, el plt.style.use 00:20:14
vale, y le decimos 00:20:18
le pasamos un string con el nombre 00:20:20
de ese estilo que queremos utilizar 00:20:23
por ejemplo, ahora hemos dicho el bmh 00:20:26
pues ala, entonces aquí le vamos a pasar 00:20:28
el bmh 00:20:31
vale, le volvemos a activar 00:20:32
el plt.show 00:20:37
Y este me hace, pues bueno, pues este estilo, ¿vale? 00:20:39
Bueno, en cuanto a los estilos están bien, pero cuando pasáis el plot, cuando hacéis la trama 00:20:52
También se le puede dar ese color, se le puede dar un grosor a la línea 00:21:02
se le puede decir qué tipo de punteros o de línea queréis utilizar vale esto vamos a verlo 00:21:09
si nos metemos otra vez en la web macro lib referencias 00:21:21
en matplotlib 00:21:28
pyplot.plot 00:21:39
nos da este formato 00:21:41
que podemos utilizar 00:21:43
vale 00:21:45
entonces esto 00:21:46
nos permite 00:21:49
meter un string 00:21:51
en el que vamos a poder decir 00:21:52
como queremos 00:21:54
que sea la marca 00:21:57
que queremos que nos haga la gráfica, la línea, vale, entonces en la línea si veis aquí abajo tenemos diferentes tipos de línea 00:21:59
y podemos decirle también el color, vale, entonces no son obligatorios los tres parámetros 00:22:12
Pero vamos, esta forma de trabajar es muy cómoda, entonces podemos coger y en nuestro código meterle, por ejemplo, ¿dónde estás? Aquí, pltplot, datos, xdatos y label, el label dejarlo siempre al final, ¿vale? 00:22:25
Entonces yo aquí le voy a meter un string, por ejemplo, vamos a ponerle B y algo así. A ver si esto me lo coge. Vale, y esto le puedo decir, lo lanzamos y esto veis, lo que me ha hecho ha sido, me ha cogido esta línea, la ha modificado, ya no es una línea continua. 00:22:44
le he dicho con el guión guión que me lo haga de esta forma 00:23:10
¿vale? le he pasado el B que es el color y es el blue 00:23:16
¿vale? le podemos pasar también si queréis 00:23:20
vamos a ver 00:23:24
podemos pasarle, ¿dónde estás? 00:23:27
el V, vamos a pasarle un V, o ya que tenemos 00:23:37
este ejemplo, pues vamos a pasarle este, ¿vale? 00:23:45
Tienes un market, tienes el color y tienes el tipo de línea, ¿vale? 00:23:48
La K es negro, si veis aquí, K es black, ¿vale? 00:23:55
Entonces, bueno, ya lo estaba diciendo aquí, triángulos hacia arriba conectados por líneas de puntos, ¿vale? 00:24:00
Pues vamos a meterle este, ¿vale? 00:24:10
Entonces aquí le voy a coger 00:24:12
Y le voy a poner 00:24:16
El triángulo 00:24:17
Yo, la A y los dos 00:24:21
Y entonces esto 00:24:23
Me lo va a hacer de esta manera 00:24:29
Vale, bueno 00:24:31
El tema es 00:24:34
Que podemos hacer estas gráficas 00:24:35
Más o menos atractivas 00:24:38
Vale 00:24:40
Y insisto 00:24:41
Se pueden 00:24:43
hacer con esta librería 00:24:45
cosas muy 00:24:47
muy potentes 00:24:49
vale 00:24:51
bueno también podemos coger 00:24:52
en vez de pasarle un string pasarle 00:24:55
el color igual a 00:24:57
el with line 00:24:59
por ejemplo vale si yo aquí le paso 00:25:01
como es line with 00:25:05
y le pasamos 00:25:07
esto 00:25:12
a ver si lo he escrito bien 00:25:19
vale, le podemos cambiar también el grosor 00:25:22
de la línea, bueno, pues eso, vale, podemos ir tuneándolo 00:25:33
los estilos pues hemos usado solo ese, pero podríamos coger 00:25:39
y decirle, pues mete el 00:25:43
seamporn este, vamos a ponerle dark, que no sé como es 00:25:47
vale, tenéis que tener cuidado también porque 00:25:51
lo que yo meta, bueno es muy similar 00:26:02
lo que yo meta 00:26:05
fuera del estilo, quiero decir 00:26:07
siempre va a dar prioridad a lo que meta dentro del plot 00:26:13
vale, entonces el estilo ahí puede quedar en segundo plano 00:26:17
quiero decir, esto, puedo pasar también aquí el color 00:26:21
directamente 00:26:25
vale esto va a mandar siempre el plot antes que el estilo entonces si quiero 00:26:31
que me funcione bien el estilo quiero verlo bien no debería de configurar 00:26:47
nada fuera de lo que es el estilo vale aunque éste tampoco veo yo que me 00:26:52
haga así, vamos a ver, bueno este me lo pone en azul, este me lo pone en naranja, tampoco 00:26:59
es una cosa, a ver alguno, dark background, este será más efectivo, que es el que tenía 00:27:14
antes puesto, vamos a ponerle este, vale, bueno, pues nos lo hace, vale, le da el estilo, 00:27:26
Pero ya os digo que si cambiamos el ancho de la línea, cambiamos el color, cambiamos el tipo de línea que queremos utilizar o marcas, bueno pues eso es prioritario sobre el estilo que le estamos pasando. 00:27:42
Bueno, pues con esta gráfica dejo este vídeo. Un saludo chicos, hasta luego. 00:27:57
Idioma/s:
es
Materias:
Programación
Niveles educativos:
▼ Mostrar / ocultar niveles
  • Formación Profesional
    • Ciclo formativo de grado básico
      • Primer Curso
      • Segundo Curso
    • Ciclo formativo de grado medio
      • Primer Curso
      • Segundo Curso
    • Ciclo formativo de grado superior
      • Primer Curso
      • Segundo Curso
Autor/es:
Mario S.
Subido por:
Mario S.
Licencia:
Dominio público
Visualizaciones:
10
Fecha:
10 de diciembre de 2024 - 11:15
Visibilidad:
Público
Centro:
IES VILLABLANCA
Duración:
28′ 09″
Relación de aspecto:
16:10 El estándar usado por los portátiles de 15,4" y algunos otros, es ancho como el 16:9.
Resolución:
1152x720 píxeles
Tamaño:
370.27 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid