Introducción a la Librería Matplotlib de Python – Parte 2

Matplotlib es una librería de trazados 2D en Python que produce figuras de calidad de publicación en una variedad de formatos impresos y entornos interactivos, si quieres saber más sobre la teoría de esta librería te recomiendo que visites otra entrada en donde explique mucho más al respecto. En este tutorial voy a mostrarte cómo utilizar matplotlib para que lo puedas implementar en tus proyectos de Machine Learning.

Para instalar matplotlib es muy simple, puedes consultar la página de instalación de la librería para obtener más información sobre cómo hacer este procedimiento en el sistema operativo que utilices, aunque puedes utlizar pip en caso de que lo separ usar.

Como toda librería de Python lo primero es importarla y definirla en nuestro programa para ello utilizamos el nombre común que se le da que es plt.

import matplotlib.pyplot as plt

Grafiquemos algo sencillo para que puedas ver lo fácil que es usar esta librería, lo primero que tenemos que hacer es definir los datos, y luego los graficamos utilizando plot() y show().

a = [3, 4, 5, 6]
b = [5, 6, 3, 4]

plt.plot(a, b)
plt.show()

Introducción-a-MAtplotlib-parte-2-1

Sabiendo esto que sería lo básico, con matplotlib se pueden crear distintas tramas, las más importantes las veremos en este tutorial.

Diagrama de línea 

Este diagrama fue el que graficamos anteriormente, y como vimos con tres líneas de código puedes generar un gráfico básico usando matplotlib.

Pero adicional a esas tres líneas de código también podemos agregar un título y etiquetas a nuestro gráfico para darle más significado, inclusive puedes cambiar el ancho y el color de las líneas e incluir una cuadrícula en la figura.

#Definir los datos
x1 = [3, 4, 5, 6]
y1 = [5, 6, 3, 4]
x2 = [2, 5, 8]
y2 = [3, 4, 3]

#Configurar las características del gráfico
plt.plot(x1, y1, label = 'Línea 1', linewidth = 4, color = 'blue')
plt.plot(x2, y2, label = 'Línea 2', linewidth = 4, color = 'green')

#Definir título y nombres de ejes
plt.title('Diagrama de Líneas')
plt.ylabel('Eje Y')
plt.xlabel('Eje X')

#Mostrar leyenda, cuadrícula y figura
plt.legend()
plt.grid()
plt.show()

Introducción-a-MAtplotlib-parte-2-2

Gráfico de barras

Los gráficos de barras se usan para comparar datos entre diferentes categorías, estos se pueden representar horizontal o verticalmente. Veamos cómo podemos implementar este tipo de gráficos en matplotlib.

Como puedes observar en el código, la pogramación es muy parecida a la anterior, definimos los datos que vamos a graficar y configuramos las características del gráfica, acá la diferencia es que en ves de utilizar plt.plot() empleamos plt.bar() en donde le especificamos que vamos a graficar una figura de barras. El resto de instrucciones es exactamente igual.

#Definir los datos
x1 = [0.25, 1.25, 2.25, 3.25, 4.25]
y1 = [10, 55, 80, 32, 40]
x2 = [0.75, 1.75, 2.75, 3.75, 4.75]
y2 = [42, 26, 10, 29, 66]

#Configurar las características del gráfico
plt.bar(x1, y1, label = 'Datos 1', width = 0.5, color = 'lightblue')
plt.bar(x2, y2, label = 'Datos 2', width = 0.5, color = 'orange')

#Definir título y nombres de ejes
plt.title('Gráfico de barras')
plt.ylabel('Eje Y')
plt.xlabel('Eje X')

#Mostrar leyenda y figura
plt.legend()
plt.show()

Introducción-a-MAtplotlib-parte-2-3

Histogramas

Los histogramas se usan para mostrar una distribución, son útiles cuando tienes matrices o una lista muy larga. Veamos como podemos graficar este tipo de gráficos.

Para esta gráfica definimos los datos y a su vez un los bins que vendría siendo los compartimientos en donde estarán ubicados en nuestra gráfica los datos. A su vez acá empleamos la instrucción plt.hist() para representar esta gráfica y el resto de instrucciones es la misma que hemos utilizado con anterioridad.

#Definir los datos
a = [22,55,62,45,21,22,34,42,42,4,2,102,95,85,55,110,120,70,65,55,111,115,80,75,65,54,44,43,42,48]
bins = [0,10,20,30,40,50,60,70,80,90,100]

#Configurar las características del gráfico
plt.hist(a, bins, histtype = 'bar', rwidth = 0.8, color = 'lightgreen')

#Definir título y nombres de ejes
plt.title('Histograma')
plt.ylabel('Eje Y')
plt.xlabel('Eje X')

#Mostrar figura
plt.show()

Introducción-a-MAtplotlib-parte-2-4

Gráfico de dispersión

Los gráficos de dispersión se utilizaron para comparar variables, por ejemplo, cuánto una variable se ve afectada por otra variable y de esta forma se construye una relación a partir de ella. En esta gráfica los datos se muestran como una colección de puntos, cada uno con el valor de una variable que determina la posición en el eje horizontal y el valor de otra variable determina la posición en el eje vertical.

La gráfica se construye utilizando la instrucción plt.scatter() que significa dispersión en inglés, y el resto de las instrucciones son las mismas que hemos utilizado hasta ahora.

#Definir los datos
x1 = [0.25, 1.25, 2.25, 3.25, 4.25]
y1 = [10, 55, 80, 32, 40]
x2 = [0.75, 1.75, 2.75, 3.75, 4.75]
y2 = [42, 26, 10, 29, 66]

#Configurar las características del gráfico
plt.scatter(x1, y1, label = 'Datos 1',color = 'red')
plt.scatter(x2, y2,label = 'Datos 2', color = 'purple')

#Definir título y nombres de ejes
plt.title('Gráfico de dispersión')
plt.ylabel('Eje Y')
plt.xlabel('Eje X')

#Mostrar leyenda y figura
plt.legend()
plt.show()

Introducción-a-MAtplotlib-parte-2-5

Gráfico circular

Este es un gráfico circular que se divide en segmentos, es decir, sectores de pastel, básicamente se usa para mostrar el porcentaje o los datos proporcionales en los que cada porción del pastel representa una categoría.

Igual que en los casos anteriores el procedimiento es muy parecido, en este caso se utiliza plt.pie() pero acá se debe especificar otras características para mejorar la presentación de la gráfica.

#Definir los datos
dormir =[7,8,6,11,7]
comer = [2,3,4,3,2]
trabajar =[7,8,7,2,2]
recreación = [8,5,7,8,13]
divisiones = [7,2,2,13]
actividades = ['Dormir','Comer','Trabajar','Recreación']
colores = ['red','purple','blue','orange']

#Configurar las características del gráfico
plt.pie(divisiones, labels=actividades, colors=colores, startangle=90, shadow=True, explode=(0.1,0,0,0), autopct='%1.1f%%')

#Definir título
plt.title('Gráfico circular')

#Mostrar figura
plt.show()

Introducción-a-MAtplotlib-parte-2-6

Recuerda que todas las características disponibles para todas las gráficas se encuentra bien explicadas en la página web de la librería de matplotlib.

Matplotlib practica

Como puedes visualizar utilizar matplotlib para presentar tus datos es muy fácil, son solo unos pocos comandos que puedes implementar en tu código y tendrás una manera de graficar los datos. Estos  son solo los aspectos básicos de matplotlib, para que puedas empezar a implementarlo en tus proyectos de Machine Learning.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *