Matplotlib en Python: varios gráficos explicados con ejemplos

Publicado: 2021-06-21

Tabla de contenido

¿Qué es matplotlib?

De las varias bibliotecas disponibles en Python, matplotlib en python es una de esas bibliotecas de visualización que ayuda en la visualización de gráficos 2D de una matriz. La biblioteca de visualización de datos se basa en matrices NumPy. Fue en el año 2002 cuando John Hunter presentó la biblioteca de visualización de datos multiplataforma. La biblioteca ofrece visualización de datos y el trazado gráfico de los datos, proporcionando una alternativa a MATLAB. Las API de Matplotlib, es decir, las interfaces de programación de aplicaciones que utilizan los desarrolladores para incrustar gráficos en aplicaciones GUI.

Matplotlib ofrece varios diagramas gráficos como barra, línea, histograma, dispersión, etc. La visualización que ofrece el gráfico matplotlib permite acceder a grandes cantidades de datos de forma visual. El gráfico de datos visuales se puede generar a través de un código de pocas líneas solo debido a la naturaleza estructurada de un script python matplotlib.

Se utilizan dos API para superponer la capa de secuencias de comandos de matplotlib:

  • API de Python: es una jerarquía de objetos de código de Python.
  • API OO (orientada a objetos): la API proporciona un acceso directo a las capas de fondo de Matplotlib.

Instalación

La instalación de la biblioteca matplotlib se puede realizar mediante la descarga de matplotlib y sus dependencias desde Python Package Index (PyPI) como un paquete binario.

El comando que se puede usar para instalar la biblioteca es

python -m pip instalar matplotlib

En un sistema operativo como Windows, Linux y macOS, matplotlib y sus dependencias están presentes como paquetes de ruedas. En tales casos, el comando a ejecutar es.

python -mpip install -U matplotlib

La biblioteca también está disponible como archivos fuente sin compilar cuya instalación es bastante compleja ya que el sistema local requerirá tener el compilador adecuado para el sistema operativo. Además, la plataforma ActiveState se puede usar para compilar matplotlib desde el origen y empaquetarlo para el sistema operativo requerido.

Importador

La importación de matplotlib en python se realiza a través de los comandos

  • desde matplotlib importar pyplot como plt
  • importar matplotlib.pyplot como plt

Varias tramas y ejemplos

1. Menú de interfaz de usuario de Matplotlib

El menú de la interfaz de usuario de Matplotlib se genera cuando se crean gráficos a través de Matplotlib. La interfaz de usuario de Matplotlib ofrece la personalización de la trama y la alternancia de elementos junto con la capacidad de hacer zoom en las tramas.

2. Matplotlib y NumPy

El NumPy es un paquete bajo python para realizar cálculos científicos. Matplotlib está construido sobre NumPy y utiliza las funciones proporcionadas por NumPy para sus datos numéricos y matrices multidimensionales.

3. Matplotlib y pandas

Pandas es una biblioteca de python que se utiliza para la manipulación de datos y análisis por matplotlib. No es una dependencia requerida para matplotlib pero proporciona un marco de datos.

Los diagramas de Matplotlib permiten la representación visual de grandes volúmenes de datos. Con los gráficos, se pudieron identificar las tendencias y patrones específicos presentes en los datos, lo cual es esencial para hacer correlaciones. Los diagramas de Matplotlib básicamente proporcionan una forma de razonar sobre información cuantitativa.

Algunos de los tipos de diagramas de matplotlib son:

1. Diagrama de líneas:

Usando dos puntos

  • El diagrama de líneas de Matplotlib se genera mediante la importación de pyplot.
  • Para dibujar puntos en un diagrama se usa la función plot() que por defecto dibuja una línea de un punto a otro.
  • Se tienen en cuenta dos parámetros que especifican los puntos para dibujar la línea.
  • Los puntos del eje X se almacenan como una matriz en el Parámetro 1.
  • Los puntos del eje Y se almacenan como una matriz en el Parámetro 2.
  • Ejemplo: si se debe trazar una línea desde los puntos (2, 6) hasta (10, 15), entonces se deben pasar dos matrices, es decir, [2, 10] y [6, 15].

Ejemplo: un código que muestra el trazado de líneas y el gráfico generado

Fuente

2. Uso de puntos múltiples

  • Al igual que se usan dos puntos para trazar, se permite trazar múltiples puntos usando matplotlib en python .
  • Los puntos deben estar en el mismo número en ambos ejes para trazar un número de puntos.
  • Aporte:

Fuente

3. Puntos de línea sin puntos del eje x

  • Si no se especifican los puntos del eje X, los valores predeterminados para el eje X se toman en función de los puntos del eje Y.
  • Entrada: El código seguirá siendo el mismo que los códigos anteriores para trazar líneas, pero con solo una matriz como entrada, es decir, una matriz para el eje Y. El eje X se tomará por defecto.

ypuntos = np.matriz([10, 8, 12, 20, 3, 9])

  • Parcela generada:

Hay varias opciones presentes en matplotlib que permiten aumentar los efectos visuales de las tramas:

1. Marcadores

  • Para mejorar los efectos visuales de los puntos en un diagrama, se puede usar un marcador específico usando la palabra clave marcador .
  • Los marcadores pueden ser una estrella, un círculo, un punto, un píxel, una X, etc.
  • Ejemplo: plt.plot(ypoints, marcador = 'o') se puede usar para trazar puntos
  • Las otras listas de marcadores se muestran en el siguiente fragmento tomado de

Fuente

  • El marcador se puede cambiar según el color (140 colores admitidos), el tamaño y el tipo de línea que se puede usar como línea punteada, continua o discontinua.
  • Los comandos markeredge ( mec ) y markerfacecolor ( mfc ) se utilizan para colorear todo el marcador.
  • Ofrece la opción de colorear solo el borde del marcador o todo el marcador.
  • Markersize o, abreviado, ms se utiliza para establecer el tamaño del marcador.

Sintaxis: plt.plot(ypoints, marcador = 'o', ms = 30)

2. Línea Matplotlib

  • El estilo de la línea trazada se puede cambiar de acuerdo con las opciones de estilo de línea, punteado o discontinuo representado como ls , : o .

Sintaxis: plt.plot(ypoints, ls = ':')

  • El color de la línea se puede cambiar de acuerdo con la palabra clave color o en una forma más corta usando c . matplotlib proporciona 140 colores admitidos para cambiar la apariencia del color de la línea.
  • El ancho de la línea se puede cambiar con el argumento linewidth o lw . Es un número flotante en puntos.
  • Se pueden trazar varias líneas en el mismo gráfico utilizando las funciones plt.plot() .
  • La función grid() se usa para agregar líneas de cuadrícula en la trama. Se pueden agregar parámetros de eje para especificar en qué eje se requiere la línea de cuadrícula.

Sintaxis: plt.grid(eje = 'x')

  • Las propiedades de la cuadrícula se pueden cambiar en consecuencia, como el color, el estilo de línea y el ancho a través de los argumentos, el color, los estilos de línea y el número.

Sintaxis: plt.grid(color = 'verde', estilo de línea = '–', ancho de línea = 0.5)

3. Etiquetas y títulos de Matplotlib

  • Las funciones xlabel() e ylabel() se utilizan para etiquetar el asex respectivo.
  • La función title() se usa para configurar un título para la trama.
  • Las propiedades de fuente del gráfico se pueden cambiar con el parámetro fontdict .
  • El parámetro loc se puede utilizar para especificar la posición del título.

Se pueden dibujar varias parcelas en una figura usando la función subplots() .

4. Diagrama de dispersión de Matplotlib

  • La función scatter() se puede usar con pyplot para dibujar un diagrama de dispersión.
  • Se requieren dos matrices de la misma longitud, es decir, una matriz para cada eje.
  • Ejemplo:

Fuente

Parcela generada

  • color o el argumento c se usa para colorear los puntos en el diagrama de dispersión.
  • El mapa de colores se puede utilizar para especificar el color requerido en el diagrama de dispersión. Cada color en el mapa de colores tiene un valor específico. Se puede incluir mediante el argumento cmap y luego asignando el nombre del mapa de colores. Varios mapas de colores incorporados están disponibles en matplotlib.

Sintaxis: plt.scatter(x, y, c=colores, cmap='viridis')

Viridis es un mapa de colores incorporado disponible en matplotlib.

  • El tamaño y la transparencia de los puntos se pueden cambiar a través de los argumentos s y alpha .
  • El mapa de colores se puede combinar con diferentes tamaños de puntos.

5. Diagramas de barras de Matplotlib

  • La función bar() se utiliza para dibujar los diagramas de barras . Los argumentos para el diseño de las barras se mencionan en la función bar(). Traza diagramas de barras verticales.

  • Para trazar diagramas de barras horizontales se utiliza la función barh() .
  • Aporte:

  • Parcela generada:

Fuente

  • El argumento color se usa con la función bar() y barh() para establecer los colores de la barra.

Sintaxis: plt.bar(x, y, color = “verde”).

  • El argumento ancho se usa con la función bar() y barh() para establecer el ancho de la barra.

Sintaxis: plt.bar(x, y, ancho = 0.2).

  • Otro argumento utilizado por la función bar() y barh() es la altura , que se utiliza para establecer la altura de la barra.

6. Diagrama circular de Matplotlib

  • Un gráfico circular se crea a través de la función pie() en la biblioteca matplotlib.
  • Ejemplo: Entrada:

  • Parcela generada:

Fuente

  • Cada cuña se puede etiquetar con la etiqueta del parámetro, que es una matriz con las etiquetas de cada cuña.

Sintaxis: mylabels = [ “coches” , “bicicletas” , “ciclos” , “autobuses” ]

  • El ángulo de inicio predeterminado en un gráfico circular es el eje X, que se puede cambiar con el parámetro startangle. El ángulo se define en grados y el ángulo predeterminado es 0.
  • Con el parámetro de explosión, la cuña requerida se puede mostrar para que se destaque. Se especifica a través de una matriz con el valor de la cuña a destacar y el resto de valores se mantienen en 0.

Sintaxis: myexplode = [0.2, 0, 0, 0]

  • Establecer el parámetro de sombras en verdadero creará una sombra para el gráfico circular.
  • El parámetro colors se usa para especificar los colores de cada cuña a través de una matriz.

Sintaxis: mylabels = [ “coches” , “bicicletas” , “ciclos” , “autobuses” ]

miscolores = [“negro”, “rosa intenso”, “azul”, verde””]

  • La función legend() se usa para agregar una explicación a cada segmento.

7. Histograma

  • El histograma se utiliza para trazar las distribuciones de frecuencia.
  • La función hist() se usa para crear un histograma que usa una matriz de números para crear el histograma.
  • Ejemplo: Entrada: las líneas anteriores serán las mismas que se utilizan para trazar diagramas de barras.

x = np.aleatorio.normal(90, 100, 200)

imprimir (x)

  • Parcela generada:

Conclusión

Como se discutió en el artículo, matplotlib en python se puede usar para trazar los datos en varios estilos. Hay varias opciones adicionales disponibles para mejorar nuestros gráficos, lo que permite al usuario etiquetar, cambiar el tamaño y colorear según sus deseos. Por lo tanto, Python y sus bibliotecas son bastante útiles para el análisis y manejo de datos en la era actual.

La capacitación en programación Python en el campo de la ciencia de datos está disponible en el curso Executive PG Program in Data Science ofrecido por upGrad . Si está dispuesto a capacitarse con expertos de la industria y explorar las diversas oportunidades que ofrece la ciencia de datos, puede inscribirse en el curso. El curso es ofrecido por IIIT-Bangalore y está diseñado especialmente para profesionales de nivel básico a medio dentro del grupo de edad de 21 a 45 años. Independientemente de cualquier género, si se encuentra dentro de esta categoría mencionada y sueña con convertirse en un científico de datos líder, únase a nosotros en esta empresa. Para cualquier barco de asistencia, nuestro equipo está listo para ayudarlo.

¿Dónde están las ventajas del módulo Pandas?

Pandas es uno de los módulos de Python más importantes y útiles que tiene varios casos de uso. Las siguientes son algunas de las ventajas del módulo Pandas.
1. Los pandas permiten el filtrado y subconjunto de datos convenientes.
2. Su código es limpio y comprensible para que los usuarios puedan concentrarse más en el objetivo principal.
3. Dado que está escrito en NumPy, también hereda algunas de las características útiles de NumPy.

¿Para qué sirve la biblioteca Matplotlib?

1. La biblioteca Matplotlib proporciona numerosas API útiles para incrustar varios tipos de gráficos, incluidos histogramas, gráficos de líneas y barras, gráficos de dispersión y gráficos de barras.
2. Esta poderosa biblioteca puede ayudarlo a crear gráficos 2D utilizando datos almacenados en una matriz. Su estructura de código simple le permite incrustar cualquier tipo de gráfico simplemente agregando unas pocas líneas de código.
3. Tiene una interfaz orientada a objetos que la convierte en una poderosa alternativa a MATLAB y Pyplot. Es altamente personalizable y requiere algo de experiencia para usar las funciones avanzadas.
4. Si necesita incrustar gráficos más simples en su aplicación, entonces debe optar por su interfaz Python estilo MATLAB. Sin embargo, si tiene tramas complejas, su interfaz OOP sería una opción mucho mejor.