Gráfica de puntos en python con matplotlib

13/09/2021

Valoración: 3.63 (8398 votos)

En este tutorial, exploraremos a fondo cómo crear gráficos de puntos en Python utilizando la librería Matplotlib. Aprenderás desde los conceptos básicos hasta técnicas avanzadas para personalizar y optimizar tus visualizaciones de datos.

Índice
  1. Fundamentos de Matplotlib para gráficos de puntos
    1. Trazando puntos simples
    2. Personalizando los marcadores
    3. Múltiples puntos y personalización avanzada
  2. Tipos de marcadores y colores en Matplotlib
  3. Consultas habituales sobre gráficos de puntos en Python
  4. Ejemplos Avanzados
    1. Gráfico de dispersión
    2. Gráficos de puntos con diferentes tamaños y colores de marcadores
  5. Conclusión

Fundamentos de Matplotlib para gráficos de puntos

Matplotlib es la librería más popular en Python para la creación de gráficos. Su módulo pyplotproporciona una interfaz sencilla e intuitiva para generar diversos tipos de gráficos, incluyendo gráficos de puntos. La función principal para esto es plt.plot().

Trazando puntos simples

La función plt.plot()acepta como argumentos los valores de las coordenadas x e y. Si se proporcionan solo los valores de y, Matplotlib asume que los valores de x son 0, 1, 2, etc. A continuación, se muestra un ejemplo sencillo:

import matplotlib.pyplot as pltypoints = [3, 8, 1, 10]plt.plot(ypoints)plt.show()

Este código generará un gráfico de línea que une los puntos (0, 3), (1, 8), (2, 1), (3, 10). Para especificar explícitamente los valores de x, simplemente se pasan como primer argumento:

import matplotlib.pyplot as pltxpoints = [1, 2, 3, 4]ypoints = [3, 8, 1, 10]plt.plot(xpoints, ypoints)plt.show()

Este código generará un gráfico similar, pero con los puntos posicionados en las coordenadas (1, 3), (2, 8), (3, 1), (4, 10).

Personalizando los marcadores

En lugar de una línea que une los puntos, puedes mostrar solo los marcadores. Para ello, utiliza un tercer argumento en la función plt.plot(). Puedes usar diferentes formatos de marcadores, como círculos ('o'), cuadrados ('), triángulos ('^'), entre otros:

import matplotlib.pyplot as pltimport numpy as npxpoints = np.array([1, 2, 3, 4])ypoints = np.array([3, 8, 1, 10])plt.plot(xpoints, ypoints, 'o') # Marcadores circularesplt.plot(xpoints, ypoints, ') # Marcadores cuadradosplt.plot(xpoints, ypoints, '^') # Marcadores triangularesplt.show()

Este ejemplo muestra como representar el mismo conjunto de puntos con diferentes marcadores en una misma gráfica.

Múltiples puntos y personalización avanzada

Puedes trazar tantos puntos como necesites, asegurando que tengas el mismo número de puntos en ambos ejes. Además, puedes personalizar el aspecto de tus gráficos de puntos mediante diversos parámetros, como el color, el tamaño y el estilo de los marcadores:

import matplotlib.pyplot as pltimport numpy as npx = np.array([1, 2, 3, 4, 5])y = np.array([2, 4, 1, 3, 5])plt.plot(x, y, marker='o', linestyle='', color='red', markersize=10) # Marcadores rojos, grandes y sin líneaplt.xlabel('Eje X')plt.ylabel('Eje Y')plt.title(' Gráfico de Puntos Personalizado ')plt.grid(True)plt.show()

Este ejemplo muestra un gráfico de puntos con marcadores circulares rojos, sin línea que los una, con etiquetas en los ejes, un título y una cuadrícula.

Tipos de marcadores y colores en Matplotlib

Matplotlib ofrece una amplia gama de opciones para personalizar la apariencia de tus gráficos de puntos. A continuación, se muestra una tabla resumen de los tipos de marcadores y colores disponibles:

Marcadores Descripción Colores Descripción
'.' Punto 'b' Azul
',' Pixel 'g' Verde
'o' Círculo 'r' Rojo
'v' Triángulo abajo 'c' Cyan
'^' Triángulo arriba 'm' Magenta
'<' Triángulo izquierda 'y' Amarillo
'>' Triángulo derecha 'k' Negro
' Cuadrado 'w' Blanco
'p' Pentágono

Además de estos colores básicos, también puedes especificar colores usando códigos hexadecimales (ej: '#FF0000' para rojo).

Consultas habituales sobre gráficos de puntos en Python

A continuación, se responden algunas de las dudas más frecuentes sobre la creación de gráficos de puntos en Python con Matplotlib:

  • ¿Cómo puedo agregar una leyenda a mi gráfico? Utiliza la función plt.legend() , pasándole como argumento una lista de etiquetas para cada conjunto de datos.
  • ¿Cómo puedo guardar mi gráfico en un archivo? Utiliza la función plt.savefig() , especificando el nombre y formato del archivo (ej: plt.savefig('grafico.png') ).
  • ¿Cómo puedo cambiar el tamaño de la figura? Utiliza la función plt.figure(figsize=(ancho, alto)) antes de trazar el gráfico, donde 'ancho' y 'alto' se especifican en pulgadas.
  • ¿Cómo puedo agregar anotaciones al gráfico? Utiliza la función plt.annotate() para agregar texto en puntos específicos del gráfico.

Ejemplos Avanzados

A continuación, se muestran ejemplos más complejos que ilustran las posibilidades de Matplotlib para la creación de gráficos de puntos :

Gráfico de dispersión

Un gráfico de dispersión es un tipo de gráfico de puntos que se usa para mostrar la relación entre dos variables. En Matplotlib, puedes crearlo utilizando la misma función plt.plot()o la función plt.scatter(), que ofrece opciones de personalización adicionales:

import matplotlib.pyplot as pltimport numpy as npx = np.random.rand(50)y = np.random.rand(50)plt.scatter(x, y, s=100, c='blue', alpha=0.5)plt.xlabel('Variable X')plt.ylabel('Variable Y')plt.title(' Gráfico de Dispersión ')plt.show()

Gráficos de puntos con diferentes tamaños y colores de marcadores

Puedes representar datos con diferentes tamaños y colores de marcadores para visualizar características adicionales en tus datos:

import matplotlib.pyplot as pltimport numpy as npsizes = np.random.randint(10, 100, 50)colors = np.random.rand(50)plt.scatter(np.random.rand(50), np.random.rand(50), s=sizes, c=colors, cmap='viridis')plt.colorbar()plt.show()

Este ejemplo crea un gráfico de dispersión donde el tamaño y el color de cada punto reflejan valores adicionales.

Conclusión

Matplotlib es una herramienta poderosa y versátil para crear gráficos de puntos en Python. Con una comprensión sólida de las funciones básicas y las opciones de personalización, puedes generar visualizaciones de datos claras, informativas y estéticamente agradables. Recuerda explorar la documentación de Matplotlib para descubrir aún más opciones y funcionalidades.

Subir