Geekflare recibe el apoyo de nuestra audiencia. Podemos ganar comisiones de afiliación de los enlaces de compra en este sitio.
En Desarrollo Última actualización: 25 de septiembre de 2023
Compartir en:
Escáner de seguridad de aplicaciones web Invicti - la única solución que ofrece verificación automática de vulnerabilidades con Proof-Based Scanning™.

Matplotlib es una biblioteca de trazado de Python que los expertos en aprendizaje automático utilizan sobre todo para crear visualizaciones estáticas e interactivas.

Qué es Matplotlib

Mathplotlib es una creación de John D. Hunter en 2003 que fue lanzada el 8 de mayo de 2021 y tiene una versión actual de 3.4.2.

Esta biblioteca está escrita mayoritariamente en Python, mientras que el resto está escrito en C objetivo y JavaScript, lo que la hace compatible con otras plataformas.

Matplotlib utiliza NumPyque es una extensión numérica de Python. Su extensión con NumPy añade su viabilidad como alternativa de código abierto y lo convierte en una mejor preferencia que MATLAB.

Para las aplicaciones GUI de Python, Matplotlib permite trazar gráficos estáticos en él utilizando la API orientada a objetos que incorpora.

Los usuarios pueden utilizar sólo unas pocas líneas escritas de código Python para visualizar sus datos utilizando diferentes gráficos, incluyendo gráficos de dispersión, histogramas, gráficos de barras, gráficos circulares, gráficos lineales y gráficos de caja.

Puede utilizar Matplotlib para crear gráficos en entornos como Python shell, Jupyter cuaderno
Jupyter lab y también utilizando Pycharm o Anaconda y en servidores de aplicaciones web como Flask y Django en varias plataformas.

Al igual que en MATLAB, puede controlar ampliamente los trazados en términos de fuentes, líneas, colores y estilos.

Tras la breve introducción de la biblioteca Matplotlib en Python, veamos cómo podemos configurarla en nuestros sistemas.

Configuración del entorno Matplotlib

Como cualquier otro paquete y biblioteca de Py thon, puede instalar la biblioteca Matplotlib precompilada y sus paquetes en todos los sistemas operativos con el gestor de paquetes pip.

Por supuesto, requiere que instale primero Python y el paquete pip en su sistema.

Los siguientes comandos muestran la versión de Python y pip para confirmar si estas herramientas ya están instaladas.

Comprobar si Python está instalado

Python --version

Compruebe si pip está instalado

pip -V

Instalar Mathplotlib

El siguiente comando instala el paquete Matplotlib desde el índice de paquetes de Python(PyPI).

python -m pip install matplotlib

Este comando descarga e instala los paquetes relevantes de Matplotlib. Debería ver un mensaje de instalación correcta una vez completada la instalación.

Para asegurarse de que Matplotlib se ha instalado correctamente, escriba la siguiente orden, que mostrará la versión de Matplotlib en su símbolo del sistema.

import matplotlib
matplotlib.__version__

Los desarrolladores que deseen instalar el paquete Matplotlib sin compilar deben tener acceso al compilador adecuado en su sistema, además de a las dependencias, los scripts de instalación, los archivos de configuración y los parches.

Sin embargo, esta instalación particular de Matplolib sin compilar puede resultar complicada, especialmente para los usuarios novatos de Matplotlib. Por lo tanto, ¿por qué no utilizar un comando de una sola línea para instalar la biblioteca en cuestión de segundos?🤔

Tras la instalación de Matplotlib, importe el paquete a su entorno para acceder a sus utilidades.

Opciones de trazado de Matplotlib

Matplotlib proporciona numerosas opciones de trazado para visualizar datos. También permite personalizar los trazados proporcionando diferentes temas, colores y opciones de paleta que el usuario puede utilizar para manipular los trazados.

Estas opciones de trazado incluyen:

#1. Gráficos de barras

Los gráficos de barras, conocidos popularmente como diagramas de barras, son una opción adecuada para visualizar una comparación cuantitativa de valores dentro de una misma categoría.

gráfico de barras-1

Matplotlib representa este trazado mediante barras rectangulares en las que sus longitudes y alturas representan sus valores proporcionales. Las barras pueden ser horizontales o verticales.

Matplotlib utiliza su función plt.bar() para crear el gráfico de barras.

Además, puede emplear más funciones para manipular este gráfico. Por ejemplo, las funciones plt .xlabel () y plt.ylabel () etiquetan los ejes x e y del gráfico, respectivamente.

La función plt. title () también le permite dar un título a su gráfico, mientras que la función plt.savefig () guarda el gráfico. La función plt .show (), que es la más importante, muestra el gráfico.

#2. Gráficos circulares

Puede visualizar la distribución proporcional de los artículos dentro de una misma categoría utilizando un trazado estadístico circular que llamamos gráficos circulares.

Los gráficos circulares muestran los datos en forma de porcentaje. Toda el área del gráfico corresponde al porcentaje total de los datos, mientras que los trozos individuales de tarta representan secciones del porcentaje de los datos.

gráfico circular

Matplotlib utiliza la función plt.pie( ) que dibuja y ajusta los parámetros del gráfico circular.
Otros parámetros, como el autopct que imprimen el valor del gráfico circular hasta 1 decimal, son útiles para trazar gráficos circulares.

Las organizaciones empresariales encuentran útiles los gráficos circulares para presentar información relevante como operaciones, ventas o recursos.

#3. Histograma

Un histograma muestra la distribución de datos numéricos. Utiliza intervalos continuos para dividir los datos en secciones distintas.

La principal diferencia entre un histograma y un diagrama de barras es el tipo de datos que manejan. Mientras que los histogramas manejan el tipo de datos continuos, los diagramas de barras manejan en cambio datos categóricos.

histograma

Matplotlib utiliza la función hist() que utiliza una matriz de valores aleatorios o definidos para crear el histograma.

#4. Gráficos de líneas

Estos trazados son útiles para mostrar la relación entre dos valores de datos que definimos como numéricos y categóricos, en una base X e Y.

gráfico de líneas

Los trazados de líneas son significativos para seguir el cambio de los valores de los datos a lo largo de cierto tiempo.

#5. Gráficos de dispersión

Los gráficos de dispersión señalan la relación, incluida la correlación, entre las variables de los datos. También son útiles para identificar valores atípicos.

gráfico de dispersión

Los gráficos de dispersión utilizan puntos para representar la relación de las variables de los datos y cómo un cambio en una variable puede afectar a otra.

Cómo crear gráficos en Matplotlib

Matplotlib utiliza diferentes funciones para crear distintos gráficos. También utiliza muy pocas líneas de código para crear el gráfico.

A continuación veremos cómo crear las diferentes opciones de trazado utilizando diferentes funciones en Matplotlib.

#1. Gráfico de barras en Matplotlib

Los gráficos de barras, como se ha explicado anteriormente, muestran categorías de datos utilizando barras y ejes que representan una comparación de categorías en un eje y los valores correspondientes de las categorías en el otro eje.

La función bar() en Matplotlib toma diferentes disposiciones de argumentos para describir la disposición de las barras, como se muestra a continuación.

plt.bar(x, y, alto, ancho, fondo, alinear)

Los parámetros x e y representan los valores de las coordenadas x e y de la barra en el gráfico. El parámetro anchura representa la anchura de la barra, mientras que el parámetro altura representa la altura de la barra.

Por ejemplo, representemos el número de perros y gatos de un refugio de animales llamado x.

import matplotlib.pyplot as plt
import numpy as np

x = ["Gatos", "Perros"]
plt.xlabel("Gatos y perros en el refugio")
plt.ylabel("Núm. de animales en el refugio")
plt.title("Número de gatos y perros en el refugio x")
y = [300, 350]
plt.bar(x, y, color ='negro', anchura = 0.5)

Salida:

bar_plot
Salida del trazado de barras en Mathplotlib

Como en nuestro ejemplo anterior, puede especificar aún más el color de las barras utilizando el atributo color. Además, plt. xlabel y p.ylabel nombran los ejes x e yrespectivamente, mientras que plt. title nombra el gráfico.

#2. Cómo crear un gráfico circular

Matplotlib utiliza la función pie() que viene con el módulo pyplot para trazar un gráfico circular.
La función representa los datos a trazar en forma de matriz.

Sintaxis:

matplotlib.pyplot.pie(data, explode=None, labels=None, colors=None, autopct=None, shadow=False)

El parámetro colors establece el color de las porciones de tarta. Puede utilizar una matriz de valores para especificar un color para cada rebanada.

Para incluir más detalles de cada rebanada de la tarta, el argumento autopct añade los porcentajes numéricos que representa cada rebanada utilizando la notación de formato String de Python. El argumento explode acepta una matriz de valores que comienzan en 0,1 para definir la distancia de la rebanada desde el centro de la tarta.

Tracemos un gráfico circular que muestre los recursos en porcentaje asignados a un proyecto concreto.

import matplotlib.pyplot as plt
import numpy as np

y = np.array([25, 10, 45, 20])
mylabels = ["w", "x", "y", "z"]
explodevalues = [0.1, 0.2, 0, 0]
colors = ['tab:blue', 'tab:green', 'tab:orange', 'tab:red']
plt.title("Recursos asignados para un proyecto aleatorio")
plt.pie(y, labels = mylabels, colors=colors,explode = explodevalues, autopct='%1.1f%%', shadow = True)
plt.show() 

Salida:

gráfico circular
Salida del gráfico circular en Mathplotlib

El gráfico anterior muestra un gráfico circular con cuatro rebanadas etiquetadas w, x, y y z, respectivamente. Los valores de explosión definen a qué distancia del centro de la tarta se colocarán las rebanadas.

En el gráfico anterior, x está más lejos porque su valor de explosión es mayor que el del resto. El atributo shadow añade una sombra al gráfico de tarta, como en la imagen, mientras que autopct establece el porcentaje relativo respecto a toda la tarta que representa cada rebanada.

#3. Creación de un gráfico de histograma

Con un histograma, utilizaremos una serie de intervalos para representar el rango de los valores dados en el eje x.
El eje y, por su parte, representará la información de frecuencia.

A diferencia de los otros gráficos, trazar un histograma en Matplotlib requiere algunos pasos predefinidos que debe seguir para crear el gráfico.

Estos pasos incluyen:

  1. Crea un intervalo de rangos a partir del conjunto de valores de datos que tiene. Puede utilizar la función np.random.normal() que puede generar valores aleatorios por usted.
  2. Utilizando una serie de intervalos, distribuye los valores en un rango de valores.
  3. Cuente los valores que caen dentro de cada intervalo concreto.
  4. Utilice ahora la función matplotlib.pyplot.hist () para crear el histograma.

La función hist () recibe varios parámetros, entre ellos

x - Representa la secuencia de matrices

bins - Este es un parámetro opcional que representa intervalos no solapados de variables que pueden contener enteros o una secuencia String.

rango - Define el rango superior, e inferior de los contenedores

alinear - Este parámetro controla la alineación del histograma. Puede ser a la izquierda, a la derecha o en el centro.

color - Define el color de las barras.

rwidth - Define la anchura relativa de las barras en el histograma con respecto a la del contenedor.

log - El parámetro log define una escala logarítmica en el eje de un histograma.

El siguiente ejemplo traza un histograma con los valores definidos.

from matplotlib import pyplot as plt

x = [22, 40, 87, 5, 43, 30, 56,73, 55, 54, 11, 20, 51, 5, 50, 60, 70, 80]

plt.hist(x)
plt.title(Ejemplo de trazado de histograma')
plt.xlabel('eje x')
plt.ylabel('frecuencia')
plt.show()

Salida:

Imagen para mostrar el histograma
Salida del gráfico de histograma en Mathplotlib

#4. Trazado de líneas en Matplotlib

Matplotlib utiliza su sub-biblioteca llamada pyplot, que viene con varias funciones que ayudan a su implementación.

Utilizamos la función plot(), que es una función genérica que viene con pyplot para trazar los gráficos de líneas y otros tipos diferentes de gráficos de líneas, incluidos los gráficos curvos y los gráficos de líneas múltiples. La creación de estos diferentes tipos de trazados depende de los valores que pase al eje y.

Al trazar, importe matplotlib.pyplot y Numpy, que dibujan los gráficos. El método plot(x,y ) crea el trazado lineal pasando valores aleatorios a los argumentos x e y.

Además, puede pasar una variable label que etiquete el trazado. La función title nombra además el título del gráfico, mientras que las funciones xlabel e ylabel nombran los ejes. Por último, la función show() muestra el gráfico.

Por ejemplo

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 5, 10)

y = 3*x 2
plt.title('Ejemplo de trazado lineal')
plt.xlabel('eje x')
plt.ylabel('eje y')
plt.plot(x, y)
plt.show()

Resultado:

diagrama_de_líneas-1
Salida del trazado de líneas en Mathplotlib

El atributo np.linspace devuelve en el trazado, un conjunto de números espaciados uniformemente sobre un intervalo determinado para los valores x. Esto creará una matriz de 10 valores en el intervalo de 0 y 5. Los valores y se crean a partir de la ecuación que utiliza los valores correspondientes de x.

Creación de gráficos de dispersión

Matplotlib utiliza el método scatter() para crear este gráfico.
Este método recibe los siguientes parámetros.

matplotlib.pyplot.scatter(datos_eje_x, datos_eje_y, s=Ninguno, c=Ninguno, marcador=Ninguno, cmap=Ninguno, vmin=Ninguno, vmax=Ninguno, alpha=Ninguno, anchos_de_línea=Ninguno, edgecolors=Ninguno) 

Los parámetros x_axis_data e y_axis_data no pueden dejarse en blanco, a diferencia del resto de parámetros que pueden ser opcionales y tener None como valor. Mientras que el argumento datos_eje_x define una matriz de datos para el eje x, datos_eje_y establece una matriz de datos para el eje y.

Un ejemplo de gráfico de dispersión en matplotlib

import matplotlib.pyplot as plt
 
x =[15, 17, 18, 27, 22, 27, 32, 14, 11, 12, 29, 16]
 
y =[19, 16, 17, 18, 10, 26, 13, 27, 14, 18, 17, 35]
plt.title('Ejemplo de gráfico de dispersión')
plt.xlabel('variable x')
plt.ylabel('variable y')
plt.scatter(x, y, c ="green")
 
# Para mostrar el gráfico
plt.show()

Su salida será como

Imagen para mostrar el gráfico de dispersión en Matplotib
Salida del gráfico de dispersión en Mathplotlib

Qué es subplot() en matplotlib

La función subplot () puede utilizarse para dibujar múltiples gráficos en una única figura de Matplotlib. Esto permite ver y comparar los múltiples trazados dentro de la figura.

Esta función devolverá una tupla con tres argumentos; filas y columnas como primer y segundo argumento, respectivamente, y el índice de la parcela actual como tercer argumento.

Las filas y las columnas definen claramente la disposición de Matplotlib.

Por lo tanto, plt.subplot(2, 1, 1) por ejemplo, trazará una figura Matplotlib con dos filas y una columna, y este trazado será el primer trazado.

Por otro lado, plt.subplot(2, 1, 2) mostrará un segundo gráfico con dos filas y una columna.

Al trazar estos dos gráficos, se crearán uno encima del otro, como en el ejemplo siguiente.

import matplotlib.pyplot as plt
import numpy as np

#trazado 1:
x = np.array([2, 4, 6, 8])
y = np.array([3, 6, 9, 12])

plt.subplot(2, 1, 1)
plt.plot(x,y)

#plot 2:
x = np.array([3, 6, 9, 12])
y = np.array([1, 2, 3, 4])

plt.subplot(2, 1, 2)
plt.plot(x,y)

plt.show()

La salida del ejemplo anterior tendrá el aspecto de la imagen siguiente.

utilizar subplot para crear dos gráficos superpuestos

Utilizando un ejemplo diferente, usemos la función subplot para trazar dos figuras con una fila y dos columnas. Esto mostrará las gráficas una al lado de la otra.

import matplotlib.pyplot as plt
import numpy as np

#trazado 1:
x = np.array([2, 4, 6, 8])
y = np.array([3, 6, 9, 12])

plt.subplot(1, 2, 1)
plt.plot(x,y)

#plot 2:
x = np.array([3, 6, 9, 12])
y = np.array([1, 2, 3, 4])

plt.subplot(1, 2, 2)
plt.plot(x,y)

plt.show()

El ejemplo anterior mostrará el siguiente resultado.

subtrama2

Bueno, eso fue interesantemente interactivo, ¿no le parece?😃

Palabras finales

Matplotlib es una famosa biblioteca de visualización utilizada en Python. Su interactividad y facilidad de uso incluso para principiantes la convierten en una herramienta aún mejor para trazar en Python.

En este artículo se han tratado ejemplos de los distintos gráficos que pueden crear las funciones que vienen con Matplotlib, incluidos gráficos circulares, gráficos de barras, histogramas y gráficos de dispersión.

Por supuesto, Python tiene varias otras bibliotecas que los expertos en aprendizaje automático y los científicos de datos pueden utilizar para crear visualizaciones.

Puede explorar más gráficos que puede crear con Matplotlib y qué funciones utilizará para crear el gráfico.

Feliz trazado!📉📊

  • Neema Muganga
    Autor
Gracias a nuestros patrocinadores
Más lecturas sobre desarrollo
Potencia tu negocio
Algunas de las herramientas y servicios que le ayudarán a hacer crecer su negocio.
  • Invicti utiliza el Proof-Based Scanning™ para verificar automáticamente las vulnerabilidades identificadas y generar resultados procesables en tan solo unas horas.
    Pruebe Invicti
  • Web scraping, proxy residencial, gestor de proxy, desbloqueador web, rastreador de motores de búsqueda, y todo lo que necesita para recopilar datos web.
    Pruebe Brightdata
  • Monday.com es un sistema operativo de trabajo todo en uno que te ayuda a gestionar proyectos, tareas, trabajo, ventas, CRM, operaciones, flujos de trabajo y mucho más.
    Prueba Monday
  • Intruder es un escáner de vulnerabilidades en línea que encuentra puntos débiles de ciberseguridad en su infraestructura, para evitar costosas violaciones de datos.
    Prueba Intruder