python - hacer - Valores alfa individuales en el diagrama de dispersión
python diagrama de dispersion (1)
Me pregunto si es posible tener valores alfa individuales para cada punto a trazar usando la función de scatter
de Matplotlib. Necesito trazar un conjunto de puntos, cada uno con su valor alfa.
Por ejemplo, tengo este código para trazar algunos puntos.
def plot_singularities(points_x, p, alpha_point, file_path):
plt.figure()
plt.scatter(points_x, points_y, alpha=alpha_point)
plt.savefig(file_path + ''.png'', dpi=100)
plt.close()
Todos mis points_x
, points_y
y alpha_point
tienen n valores. Sin embargo, no puedo asignar una matriz al parámetro alpha
en scatter()
. ¿Cómo puedo tener un valor alfa diferente para cada punto? Puedo hacer un bucle y trazar punto por punto con cada valor alfa específico, pero esto no parece ser un buen enfoque.
La sugerencia de tcaswell es correcta, puedes hacerlo así:
import numpy as np
import matplotlib.pylab as plt
x = np.arange(10)
y = np.arange(10)
alphas = np.linspace(0.1, 1, 10)
rgba_colors = np.zeros((10,4))
# for red the first column needs to be one
rgba_colors[:,0] = 1.0
# the fourth column needs to be your alphas
rgba_colors[:, 3] = alphas
plt.scatter(x, y, color=rgba_colors)
plt.show()