Je me demande s'il est possible d'avoir des valeurs alpha individuelles pour chaque point à tracer en utilisant la fonction scatter
de Matplotlib. J'ai besoin de tracer un ensemble de points, chacun avec sa valeur alpha.
Par exemple, j'ai ce code pour tracer certains points
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()
Tous mes points_x
, points_y
Et alpha_point
Ont n valeurs. Cependant, je ne peux pas affecter un tableau au paramètre alpha
dans scatter()
. Comment puis-je avoir une valeur alpha différente pour chaque point? Je peux boucler et tracer point par point avec chaque valeur alpha spécifique, mais cela ne semble pas être une bonne approche.
la suggestion de tcaswell est correcte, vous pouvez le faire comme ceci:
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()