Activa JavaScript para disfrutar de los vídeos de la Mediateca.
Trabajando con MatPlotLib - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
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
el
00:25:03
como es line with
00:25:05
y le pasamos
00:25:07
5
00:25:11
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:
- 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
- Ciclo formativo de grado básico
- 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