Curso de inteligencia artificial

Matplotlib y sus gráficos más comunes

Capítulo 3: Introducción a Matplotlib

En este tercer capítulo vamos a empezar a utilizar Matplotlib. Verás una pequeña introducción a Matplotlib. La instalación, importación y algunos de los tipos de gráficos que podrás realizar con ejemplos.

¿Qué es Matplotlib?

Matplotlib es una biblioteca ampliamente utilizada en el campo de la inteligencia artificial para visualizar datos.

Instalación de Matplotlib

La biblioteca Matplotlib no viene incluida con Python, de modo que tendrás que instalarla. Su instalación no podía ser más fácil. Introduce en la consola lo siguiente:

pip install matplotlib

Importación de Matplotlib

Antes de poder utilizar Matplotlib, deberemos realizar la importación en nuestro script de Python.

import matplotlib.pyplot as plt

Normalmente se utiliza el submódulo pyplot de Matplotlib. Así que, mientras no indique lo contrario, puedes seguir el curso con esta importación.

Por convención se suele poner el alias plt.

Tipos de gráficos disponibles en Matplotlib

Matplotlib, tiene una amplia variedad de gráficos para representar datos de muchas formas. Algunos de los más comunes son los que verás a continuación. Te dejo el código de cada tipo con un ejemplo. No hace falta que lo entiendas todavía. Lo iré explicando en otros capítulos.

De cada uno de estos gráficos, te voy a poner algún ejemplo de uso, esto no implica que lo que te diga a continuación, quiera decir que son sus únicos usos posibles.

Gráficos de línea

Los gráficos de línea son representaciones gráficas con los que representar cosas cómo por ejemplo, cómo cambian ciertos valores a lo largo del tiempo.

Para el ejemplo, vamos a poner una heladería. Tienes los datos de una semana de cuantas unidades se han vendido cada día.
Para representar estos datos, podríamos utilizar un gráfico de línea que muestre fácilmente que días se venden más helados y cuales menos.

Para crear un gráfico de este tipo tendrás que utilizar la función plot().

import matplotlib.pyplot as plt

# Ventas diarias de helados (en unidades)
ventas = [150, 120, 100, 80, 60, 100, 130]

# Días de la semana
dias = ['Lunes', 
        'Martes', 
        'Miércoles', 
        'Jueves', 
		'Viernes', 
        'Sábado', 
        'Domingo']

# Crear el gráfico de línea
plt.plot(dias, ventas)

# Mostrar el gráfico
plt.show()

En el gráfico se puede ver claramente el número de unidades en la izquierda y su relación de ventas con los días de la semana en la parte inferior.

Gráfico de línea de Matplotlib

Estos datos son muy pocos y simples, pero podríamos automatizar tareas para representar una gran cantidad de datos en proyectos más ambiciosos.

Gráfico de dispersión

Los gráficos de dispersión son representaciones gráficas que nos ayudan a ver la relación entre (normalmente) dos conjuntos de datos.
Como ejemplo, tenemos dos listas de números, una representa la cantidad de horas de estudio y la otra representa las calificaciones de un grupo de estudiantes. Un gráfico de dispersión nos mostrará cómo se distribuyen estos datos en forma de puntos en un plano. Cada punto en el gráfico representa un estudiante, donde la posición en el eje horizontal que podemos denominar eje x, representa las horas de estudio y la posición en el eje vertical (y) representa las calificaciones. Al observar el gráfico de dispersión, podemos identificar si hay alguna relación entre el tiempo de estudio y las calificaciones obtenidas.

Estos gráficos se crear con la función scatter().

Y lo más importante, es posible crear inteligencia artificial que vaya infiriendo en los resultados de estos datos, para finalmente, generar informes con gráficos y deducciones simplemente proporcionando los valores. Por ponerte un ejemplo.

import matplotlib.pyplot as plt

# Datos de ejemplo
horas_estudio = [4, 7, 6, 5, 8, 7, 6, 9, 3, 5]
calificaciones = [70, 85, 75, 60, 90, 80, 70, 95, 65, 75]

# Crear el gráfico de dispersión
plt.scatter(horas_estudio, calificaciones)

# Etiquetas de los ejes
plt.xlabel('Horas de estudio')
plt.ylabel('Calificaciones')

# Título del gráfico
plt.title('Relación entre horas de estudio y calificaciones')

# Mostrar el gráfico de dispersión
plt.show()
Gráfico de dispersión de Matplotlib

Gráfico de barras

Los gráficos de barras son dibujos que nos ayudan a comparar diferentes cantidades o categorías. Para crear un gráfico de este tipo utilizaremos la función bar().

Para el ejemplo práctico, vamos a suponer que tienes una lista de nombres de ciudades y la cantidad de habitantes en ellas. Gracias al siguiente gráfico de barras, podremos ver la representación de una barra por ciudad.

import matplotlib.pyplot as plt

# Datos de ejemplo
ciudades = ['Ciudad A', 'Ciudad B', 'Ciudad C', 'Ciudad D']
poblacion = [800000, 650000, 900000, 550000]

# Crear el gráfico de barras
plt.bar(ciudades, poblacion)

# Etiquetas de los ejes
plt.xlabel('Ciudades')
plt.ylabel('Población')

# Título del gráfico
plt.title('Población por ciudad')

# Mostrar el gráfico de barras
plt.show()
Gráfico de barras de Matplotlib

Histogramas

Los histogramas son representaciones gráficas que ayudan a comprender la distribución de ciertos datos. Se puede crear un histograma utilizando la función hist().

Para el ejemplo práctico, tenemos una serie de datos de altura de personas. Con el siguiente histograma veremos en el eje horizontal una representación de los rangos de alturas y en el eje vertical la frecuencia o cantidad de personas en cada rango. Los histogramas son útiles para identificar patrones, tendencias y características importantes de un conjunto de datos.

import matplotlib.pyplot as plt

# Datos de ejemplo
alturas = [165, 170, 168, 172, 
           175, 180, 178, 172, 
           169, 171, 175, 168, 
           170, 172, 174, 169]

# Crear el histograma
plt.hist(alturas)

# Etiquetas de los ejes
plt.xlabel('Alturas')
plt.ylabel('Frecuencia')

# Título del gráfico
plt.title('Distribución de alturas')

# Mostrar el histograma
plt.show()
Histograma de Matplotlib

Gráfico de pastel

Los gráficos de pastel son útiles para mostrar la composición de un conjunto de datos. Cada segmento del pastel representa una categoría y su tamaño representa la proporción de esa categoría en relación con el conjunto completo de datos. Son útiles para visualizar porcentajes y comparar partes de un todo. Se puede crear un gráfico de pastel utilizando la función pie().

En el siguiente ejemplo tenemos dos listas de datos. Una con las etiquetas y otra con la cantidad. En el gráfico de pastel, se puede ver que cuantas más frutas hay de un tipo, más grande es la porción. Esto da una representación bastante sencilla de interpretar.

import matplotlib.pyplot as plt

# Datos de ejemplo
etiquetas = ['Manzanas', 'Plátanos', 'Naranjas', 'Uvas']
cantidad = [30, 45, 25, 20]
colores = ['red', 'yellow', 'orange', 'purple']

# Crear el gráfico de pastel con colores personalizados
plt.pie(cantidad, labels=etiquetas, colors=colores)

# Título del gráfico
plt.title('Distribución de frutas')

# Mostrar el gráfico de pastel
plt.show()
Gráfico de pastel de Matplotlib

Si te interesa seguir aprendiendo más sobre Matplotlib y cosas relacionadas con los datos y la inteligencia artificial, no te pierdas el siguiente capítulo.


Comentarios

Si te quedan dudas sobre el temario, sobre inteligencia artificial, o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.

Programación Fácil YouTube

Suscríbete

Si te ha gustado este curso y crees que el trabajo merece la pena, te agradeceré eternamente que te suscribas a mi canal de YouTube para apoyarme y que pueda seguir haciendo cursos gratuitos.

Además, si te encanta la programación, tienes un montón más de cursos gratuitos para ver.

No solo eso, podrás participar enviándome comentarios con tus sugerencias para temas específicos o cursos completos o incluso las dudas que tengas y las intentaré ir resolviendo en los cursos que estén todavía abiertos.