Partiellement transparent nuage de points, mais avec une solide barre de couleur
En Python, avec Matplotlib, comment simplement faire un nuage de points avec de la transparence (alpha < 1), mais avec une barre de couleur qui représente la valeur des couleurs, mais a alpha = 1?
Voici ce que l'on obtient, avec from pylab import *; scatter(range(10), arange(0, 100, 10), c=range(10), alpha=0.2); color_bar = colorbar()
:
Comment la couleur de la barre de être rendu non-transparent?
PS: j'ai essayé color_bar.set_alpha(1); draw()
, mais cela n'a rien...
- Mais comme c'est un nuage de points, quelle serait la couleur de la barre d'indiquer? Doit-il correspondre à la taille de chaque point,
s
, ou la couleur de chaque point,c
? - La couleur de la barre de la carte de la couleur des points.
InformationsquelleAutor Eric O Lebigot | 2010-12-18
Vous devez vous connecter pour publier un commentaire.
Bon, j'ai trouvé une façon de le faire, ça a l'air relativement propre: (à l'aide de la
ColorBar
objet de la question)Il serait bien d'obtenir une confirmation que c'est le plus robuste de la façon de procéder, si! 🙂
draw_all
. Intéressant.draw_all()
rend les étiquettes apparaissent, même si j'ai miscolor_bar.ax.set_yticklabels([])
.color_bar.ax.cla()
), mais alors le dessin de la barre de couleur à nouveau avecdraw_all()
échoue.cbar.solids.set(alpha=1)
si vous préférez ne pas appelerdraw_all()
pour une raison particulière (par exemple, des étiquettes personnalisées, etc).C'est un énorme, moche hack. Mais pas d'autre moyen serait de travailler. Peut-être que quelqu'un d'autre peut s'améliorer.
pyplot.show()
est appelé (ce qui pouvait être détruit, sans doute...).