Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

Matplotlib Pensamiento Computacional, Apuntes de Programación Informática

la biblioteca de Python más usada para crear gráficos, también llamados plots. Provee una forma rápida de graficar datos en varios formatos de alta calidad que pueden ser compartidos y/o publicados

Tipo: Apuntes

2024/2025

Subido el 09/07/2025

camila-abril-sandoval
camila-abril-sandoval 🇦🇷

1 documento

1 / 35

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Matplotlib
Unidad 6
Apunte de cátedra
Pensamiento computacional (90)
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23

Vista previa parcial del texto

¡Descarga Matplotlib Pensamiento Computacional y más Apuntes en PDF de Programación Informática solo en Docsity!

Matplotlib

Unidad 6

Apunte de cátedra

Pensamiento computacional (90)

Estructura de este apunte

Este apunte fue armado primero como un Google Colab antes de ser pasado a PDF. Esto significa

que pueden ir al siguiente link y conseguir una versión más interactiva si así prefieren. Es

importante destacar que no van a poder modificar el archivo porque solo tiene permisos de

lectura, deben crear una copia primero. Una vez hecha la copia van a poder cambiar el código y

probar cosas por su cuenta.

¿Qué es Matplotlib?

Matplotlib es probablemente la biblioteca de Python más usada para crear gráficos, también

llamados plots. Provee una forma rápida de graficar datos en varios formatos de alta calidad que

pueden ser compartidos y/o publicados. En esta sección vamos a ver los usos más comunes de

matplotlib. En este video encontrarán una introducción breve a esta sección.

pyplot

pyplot proporciona una interfaz a la biblioteca de matplotlib. Pyplot está diseñada siguiendo el

estilo de Matlab y la mayoría de los comandos para graficar en pyplot tienen análogos en Matlab

con argumentos similares. Explicaremos las instrucciones más importantes con ejemplos

interactivos.

import matplotlib.pyplot as plt

Las primeras funciones que vamos a ver son plot y show.

La función plot recibe 2 vectores que tienen que ser del mismo tamaño que representan una

serie de puntos en el plano cartesiano. El primer arreglo son las coordenadas X y el segundo son

las coordenadas Y. Finalmente lo que hace la función es unir primero esos elementos para crear

puntos (coordenada a coordenada de los vectores, toma un valor de x y otro de y y arma un

punt), y luego unir todos estos puntos con líneas para que en el dibujo podamos ver el gráfico de

la función.

show simplemente crea la imagen con todos los gráficos definidos anteriormente.

Grafico elemental

x = [0,2,10,11,18,25] y = [0,1,2,3,4,5] fig = plt.figure() plt.plot(x, y)

Pero, ¿cuál debería usar? Bueno, en realidad depende de lo que quieras hacer, por eso a

continuación, vamos a dar un poco de detalle de lo que está ocurriendo en cada línea, para que así

puedas elegir qué es lo mejor para vos:

Por un lado

plt.figure()

Por el otro

plt.subplots()

Si bien no se puede ver un gráfico en ninguno de los outputs, analicemos lo que nos imprime:

1. plt.figure() crea una figura pero sin axes (por eso dice <Figure size 640x480 with 0

Axes> , se tiene una figura y 0 aces).

2. plt.subplots() permite crear ambos (por eso dice <Figure size 640x480 with 1

Axes>, <Axes: >, hay figura y axes).

Note que se ha seguido una convención al nombrarse la figura como fig y los axes como ax.

Grafico elemental explicado:

fig, ax = plt.subplots() # Se crea una figura con un único Axes. ax.plot(x, y) # Agregar los ploteos individuales (gráfico de linea) plt.show() # Mostrar

Entonces, plt.plot() es un método más amigable para principiantes ya que es más conciso

y resulta muy útil cuando simplemente se desea crear un gráfico para verificar resultados

rápidamente.

Ahora, si se desean gráficos más complejos o con un ajuste fino como los que veremos al

final de este apunte, necesitaremos un enfoque más flexible, como plt.subplots().

Partes de una Figura

Esta imagen, fue obtenida de la referencia de matplotlib

(https://matplotlib.org/stable/tutorials/introductory/quick_start.html) y resume de manera

fácil y visual los detalles que podemos agregarle a las figuras creadas. A continuación, vamos

a mostrar cómo lo hacemos, utilizando el gráfico anterior:

● linestyle = estilo de línea, por ejemplo: 'solid', 'dashed', 'dotted' o sus

equivalentes:'-', '--', ':', entre otros.

● markersize, linewidth = con un número, establecemos el tamaño del marcador y el

espesor de la línea.

Notar que si no le asignamos un valor, se establecen los predefinidos.

Para ver las múltiples opciones disponibles, les dejamos el siguiente link de consulta:

https://matplotlib.org/2.1.1/api/_as_gen/matplotlib.pyplot.plot.html

x = [0,2,10,11,18,25] # Tiempo (min) y = [0,1,2,3,4,5] # Distancia (m) fig, ax = plt.subplots() ax.plot(x, y, color='green', marker='^', linestyle='--', markersize=8, linewidth=1.2) plt.show()

Grilla o Cuadrícula

Para leer facilmente cada punto, podemos agregar una cuadrícula usando ax.grid().

Si a esta deseamos modificarla, como por ejemplo, el color, el estilo de línea, o si sólo

deseamos que se vea en uno de los ejes, podemos indicarlo utilizando parámetros muy

similares a los vistos anteriormente pero en la funcion ax.grid().

x = [0,2,10,11,18,25] # Tiempo (min) y = [0,1,2,3,4,5] # Distancia (m) fig, ax = plt.subplots() ax.plot(x, y, color='green', marker='^', linestyle='--', markersize=8, linewidth=1.2)

Grilla preestablecida

ax.grid() plt.show()

Títulos

Una de las partes más importantes para que un gráfico se pueda entender es ponerle un título

y explicar qué significa cada eje.

Eso se hace con las funciones ax.set_xlabel(), ax.set_ylabel() y ax.set_title().

Cada una recibe un string que se usará como etiqueta del eje X, etiqueta del eje Y o título,

respectivamente.

Siendo los valores de x se trataba del tiempo medido en minutos y los de y de una distancia

en metros, entonces:

x = [0,2,10,11,18,25] # Tiempo (min) y = [0,1,2,3,4,5] # Distancia (m) fig, ax = plt.subplots() ax.plot(x, y, color='green', marker='^', linestyle='--', markersize=8, linewidth=1.2)

Mostrar el título del gráfico

ax.set_title("Gráfico de posición")

Mostrar el título de los ejes

ax.set_xlabel('Tiempo (min)') ax.set_ylabel('Distancia (m)')

Grilla preestablecida

ax.grid() plt.show()

ax.set_xlabel('Tiempo (min)') ax.set_ylabel('Distancia (m)')

Agregar la refencia

ax.legend()

Grilla preestablecida

ax.grid() plt.show() Características de los Ejes

Como podemos identificar en los gráficos anteriores, python decidió las características de los

ejes:

● El eje x: se extiende del 0 a 25, de 5 en 5.

● El eje y: se extiende del 0 a 5, de 1 en 1.

Podemos establecer los limites del eje x e y usando ax.set_xlim() y ax.set_ylim()

respectivamente.

x = [0,2,10,11,18,25] # Tiempo (min) y = [0,1,2,3,4,5] # Distancia (m) fig, ax = plt.subplots() ax.plot(x, y, label='Objeto 1', color='green', marker='^', linestyle='--', markersize=8, linewidth=1.2)

Mostrar el título del gráfico

ax.set_title("Gráfico de posición")

Mostrar el título de los ejes

ax.set_xlabel('Tiempo (min)') ax.set_ylabel('Distancia (m)')

Establecer los límites de los ejes

ax.set_xlim(0, 30) ax.set_ylim(0, 6)

Agregar la refencia

ax.legend()

Grilla preestablecida

ax.grid() plt.show()

y = [0,1,2,3,4,5] fig, ax = plt.subplots() ax.plot(x, y) plt.show() Gráfico de Dispersión o Puntos

El gráfico de dispersión o puntos permite visualizar la relación entre las variables. Para

crearlo, se utiliza la función ax.scatter():

x = [5,7,8,7,2,17,2,9,4,11,12,9,6] y = [99,86,87,88,111,86,103,87,94,78,77,85,86] fig, ax = plt.subplots()

ax.scatter(x, y) plt.show() Gráfico de Barras

El gráfico de barras permite visualizar proporciones, comparando dos o más valores entre sí.

Para crearlo, se utiliza la función ax.bar(), la cual primero recibe un arreglo con las etiquetas

de las barras que se van a mostrar y después otro arreglo con la altura de cada una de estas

barras.

peso = [340, 115, 200, 200, 270] ingredientes = ['chocolate', 'manteca', 'azúcar', 'huevo', 'harina'] fig, ax = plt.subplots() ax.bar(ingredientes, peso)