I found that in scatter plots the alpha values given by individual entries in the color list are ignored. Here an example that shows different combinations of color and alpha arguments:
x = [1,2,3]
y = array([1,1,1])
c = [[1,0,0, 0.0],
[1,0,0, 0.5],
[1,0,0, 1.0]]
scatter(x, y, s = 200, c = 'r')
scatter(x, y + 1, s = 200, c = c)
scatter(x, y + 2, s = 200, c = c, alpha = 0.5)
scatter(x, y + 3, s = 200, c = 'g', alpha = 0.5)
Looking at the source in axes.py/scatter I found that replacing the default value for the alpha keyword argument in the function header of scatter from alpha=1.0 to alpha=None fixes this problem. Additionally, I had to replace
collection.set_alpha(alpha)
by
if alpha is not None:
collection.set_alpha(alpha)
See also the attached diff file.
Gregor
scatter.diff (861 Bytes)