Introducción
Este tutorial ofrece una guía paso a paso para utilizar la interfaz pyplot en Matplotlib. El módulo pyplot es una colección de funciones que hace que Matplotlib funcione como MATLAB, lo que te permite crear y personalizar fácilmente gráficos. Este tutorial asume que tienes un conocimiento básico de Matplotlib y sus conceptos.
Consejos sobre la VM
Una vez finalizada la inicialización de la VM, haz clic en la esquina superior izquierda para cambiar a la pestaña Notebook y acceder a Jupyter Notebook para practicar.
A veces, es posible que tengas que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.
Si tienes problemas durante el aprendizaje, no dudes en preguntar a Labby. Proporciona retroalimentación después de la sesión y resolveremos rápidamente el problema para ti.
Generando un gráfico simple
Para comenzar, generemos un gráfico simple utilizando la función plot en pyplot. En este ejemplo, graficaremos una gráfica de líneas con los valores de y [1, 2, 3, 4]:
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4])
plt.ylabel('some numbers')
plt.show()
Explicación:
- Importamos el módulo
pyplotdematplotliby lo aliasamos comoplt. - La función
plotse utiliza para generar una gráfica de líneas. Al proporcionar una sola lista de valores de y, los valores de x se generan automáticamente como[0, 1, 2, 3], ya que los rangos de Python comienzan en 0. - La función
ylabelestablece la etiqueta para el eje y. - Finalmente, la función
showmuestra el gráfico.
Formateando el estilo del gráfico
A continuación, personalicemos el estilo de nuestro gráfico. Podemos utilizar el tercer argumento opcional de la función plot para especificar la cadena de formato, que indica el color y el tipo de línea del gráfico. Por ejemplo, grafiquemos la misma gráfica de líneas con círculos rojos:
plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro')
plt.axis([0, 6, 0, 20])
plt.show()
Explicación:
- Utilizamos la cadena de formato
'ro'para indicar círculos rojos para el gráfico. - La función
axisse utiliza para establecer la ventana de visualización de los ejes, especificando el rango de valores para los ejes x e y.
Graficando múltiples líneas
También podemos graficar múltiples líneas con diferentes estilos en una llamada a la función utilizando arrays. Grafiquemos tres líneas: una línea roja discontinua, cuadrados azules y triángulos verdes:
import numpy as np
t = np.arange(0., 5., 0.2)
plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^')
plt.show()
Explicación:
- Utilizamos el módulo
numpypara crear un arraytcon valores de tiempo muestreados uniformemente. - La función
plotse llama con tres pares de valoresxey, seguidos de las cadenas de formato'r--'(línea roja discontinua),'bs'(cuadrados azules) y'g^'(triángulos verdes).
Graficando con variables categóricas
Matplotlib te permite crear gráficos utilizando variables categóricas. Vamos a crear un gráfico de barras, un diagrama de dispersión y un gráfico de líneas con variables categóricas:
names = ['group_a', 'group_b', 'group_c']
values = [1, 10, 100]
plt.figure(figsize=(9, 3))
plt.subplot(131)
plt.bar(names, values)
plt.subplot(132)
plt.scatter(names, values)
plt.subplot(133)
plt.plot(names, values)
plt.suptitle('Categorical Plotting')
plt.show()
Explicación:
- Creamos una lista
namescon tres valores categóricos y una listavaluesque representa sus valores correspondientes. - Se llama a la función
figurepara crear una nueva figura con un tamaño especificado. - Utilizamos la función
subplotpara crear una cuadrícula de subgráficos. En este ejemplo, creamos tres subgráficos, cada uno con un tipo de gráfico diferente: gráfico de barras, diagrama de dispersión y gráfico de líneas. - La función
suptitlese utiliza para establecer el título superior de la figura.
Personalizando propiedades de líneas
Matplotlib te permite personalizar varias propiedades de líneas, como el ancho de línea, el estilo de trazos discontinúos y el color. Veamos algunos métodos para establecer propiedades de líneas:
x = np.arange(0, 5, 0.1)
line, = plt.plot(x, np.sin(x), '-')
## Utilizando el método setter de la instancia Line2D
line.set_linewidth(2.0) ## Establece la propiedad de ancho de línea de la línea en 2.0
## Utilizando la función setp de pyplot
plt.setp(line, color='r', linewidth=2.0) ## Establece las propiedades de color y ancho de línea utilizando la función setp
plt.show()
Explicación:
- Creamos un array
xy calculamos los valores correspondientes de y utilizando la funciónnp.sin. - Se llama a la función
plotpara crear un gráfico de líneas. - Utilizamos el método
setde la instanciaLine2Dpara establecer la propiedad de ancho de línea de la línea en 2.0. - Alternativamente, podemos utilizar la función
setppara establecer múltiples propiedades de la línea, como el color y el ancho de línea, utilizando argumentos de palabras clave.
Resumen
En este tutorial, aprendimos cómo utilizar la interfaz pyplot en Matplotlib para crear y personalizar gráficos. Cubrimos la generación de gráficos simples, el formateo del estilo de los gráficos, la representación de múltiples líneas, el uso de variables categóricas y la personalización de las propiedades de las líneas. Al utilizar estas funcionalidades, puedes crear varios tipos de gráficos para visualizar tus datos de manera efectiva.