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