color bar python matplotlib scatter colorbar

python - Diagrama de dispersión parcialmente transparente, pero con una barra de color sólido



plt colorbar doc (2)

Bien, encontré una manera de hacerlo, que se ve relativamente limpia: (usando el objeto ColorBar de la pregunta)

color_bar.set_alpha(1) color_bar.draw_all() # pylab.draw() or pyplot.draw() might be necessary

¡Sería genial obtener una confirmación de que esta es la forma más sólida de proceder, sin embargo! :)

En Python, con Matplotlib, ¿cómo hacer simplemente un diagrama de dispersión con transparencia (alfa <1), pero con una barra de color que representa su valor de color, pero tiene alfa = 1?

Esto es lo que uno obtiene, from pylab import *; scatter(range(10), arange(0, 100, 10), c=range(10), alpha=0.2); color_bar = colorbar() from pylab import *; scatter(range(10), arange(0, 100, 10), c=range(10), alpha=0.2); color_bar = colorbar() from pylab import *; scatter(range(10), arange(0, 100, 10), c=range(10), alpha=0.2); color_bar = colorbar() :

¿Cómo se puede hacer la barra de color no transparente?

PD : probé color_bar.set_alpha(1); draw() color_bar.set_alpha(1); draw() , pero esto no hizo nada ...


Este es un hack enorme, feo. Pero de ninguna otra manera funcionaría. Tal vez alguien más pueda mejorar.

fig1 = pylab.figure() fig2 = pylab.figure() ax1 = fig1.add_subplot(111) ax2 = fig2.add_subplot(111) ax1.scatter(range(10), range(10), c=range(10), alpha=0.2) im = ax2.scatter(range(10), range(10), c=range(10), alpha=1.0) fig1.colorbar(im, ax=ax1) fig1.show()