Scatter Plots¶
Un gráfico de dispersión (scatter plot) es un tipo de gráfico que se utiliza para representar la relación entre dos variables numéricas. Matplotlib es una biblioteca de visualización de datos de Python que puede utilizarse para crear scatter plots.
Aquí hay algunos ejemplos de cómo crear scatter plots con Matplotlib en Python:
- Gráfico de dispersión simple: veamos el ejemplo más sencillo ocupando directamente el comando
plt.scatter
.
In [1]:
Copied!
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 4, 2, 5, 3]
plt.scatter(x, y)
plt.show()
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 4, 2, 5, 3]
plt.scatter(x, y)
plt.show()
- Gráfico de dispersión con diferentes colores y tamaños de puntos: En este ejemplo, cada punto se traza con un tamaño y color diferente. La lista de colores especifica el color de cada punto, mientras que la matriz de tamaños especifica el tamaño de cada punto.
In [2]:
Copied!
import matplotlib.pyplot as plt
import numpy as np
x = [1, 2, 3, 4, 5]
y = [1, 4, 2, 5, 3]
colors = ['red', 'green', 'blue', 'orange', 'purple']
sizes = np.array([10, 50, 100, 150, 200])
plt.scatter(x, y, s=sizes, c=colors)
plt.show()
import matplotlib.pyplot as plt
import numpy as np
x = [1, 2, 3, 4, 5]
y = [1, 4, 2, 5, 3]
colors = ['red', 'green', 'blue', 'orange', 'purple']
sizes = np.array([10, 50, 100, 150, 200])
plt.scatter(x, y, s=sizes, c=colors)
plt.show()
- Gráfico de dispersión con diferentes formas de punto: En este ejemplo, se han generado 50 puntos de datos aleatorios y se han dividido en 10 grupos de 5 puntos cada uno.
In [3]:
Copied!
import matplotlib.pyplot as plt
import numpy as np
x = np.random.rand(50)
y = np.random.rand(50)
shapes = ['o', 's', 'd', '*', '+', 'x', 'p', 'h', 'v', '^'] # formas
for i in range(10):
xi = x[i*5:(i+1)*5]
yi = y[i*5:(i+1)*5]
plt.scatter(xi, yi, marker=shapes[i])
plt.show()
import matplotlib.pyplot as plt
import numpy as np
x = np.random.rand(50)
y = np.random.rand(50)
shapes = ['o', 's', 'd', '*', '+', 'x', 'p', 'h', 'v', '^'] # formas
for i in range(10):
xi = x[i*5:(i+1)*5]
yi = y[i*5:(i+1)*5]
plt.scatter(xi, yi, marker=shapes[i])
plt.show()