|
From: Eric F. <ef...@ha...> - 2008-10-09 18:15:27
|
Gregor Thalhammer wrote: > Dear developers, > > in matplotlib 0.98.3 I discoverd that in scatter individual alpha > settings (by giving a list of rgba values) are ignered. Here an example > that show this behaviour: All points show the same alpha value as given > by the alpha keyword argument. (Omitting it equals to the setting alpha=1). > > > from pylab import * > > x = [1,2,3] > y = [1,2,3] > > c = [[1,0,0, 0.0], > [1,0,0, 0.5], > [1,0,0, 1.0]] > > gca() > cla() > scatter(x,y, c=c, s = 200, alpha = 0.5) > draw() > show() > > > I had a look at the sources. In axes.py/scatter I simply removed the line > > collection.set_alpha(alpha) You are correct that there is a bug, in that the alpha in rgba arrays is always overridden, but removing that line is not the solution. I will try to fix it in the next few days. I think the intention was that alpha=None would be used to mean "don't disturb existing alpha in an rgba array; but use alpha=1 if color comes in as other than rgba", but this has not been propagated uniformly. Small changes in quite a few places may be needed. Eric > > The recent svn version also contains this line. > With this change it worked as expected, also e.g. for the case of a > single color for all points, > > scatter(x,y, c = 'r', alpha = 0.5) > > Gregor |