Valeurs alpha individuelles dans le nuage de points
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
n valeurs. Cependant, je ne peux pas attribuer 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 chacun valeur alpha spécifique, mais cela ne semble pas être une bonne approche.
25
demandé sur
Seanny123
2014-07-16 00:15:12
1 réponses
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()
34
répondu
MaxNoe
2016-05-12 22:16:29