Valores alfa individuales en el diagtwig de dispersión

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() 

Salida