From: Thomas R. <tho...@gm...> - 2009-08-04 16:44:55
|
Hi, The following script produces a single point that is green and translucent: import matplotlib.pyplot as mpl fig = mpl.figure() ax = fig.add_subplot(111) ax.scatter([0.],[0.],c=1.,alpha=0.2,vmin=0,vmax=2.0,cmap=mpl.cm.jet) fig.canvas.draw() and the following script produces a single point that is red and definitely not translucent, because the color defined by c= is above vmax. import matplotlib.pyplot as mpl fig = mpl.figure() ax = fig.add_subplot(111) ax.scatter([0.],[0.],c=1.,alpha=0.2,vmin=0,vmax=0.5,cmap=mpl.cm.jet) fig.canvas.draw() Whether this is intentional or not, I'm not sure, but I would have expected that alpha overrides the fact the color is out of bounds. In any case, this pops up sometimes if I am plotting multiple points with different colors given by an array, because vmax and vmin are automatically computed, and because of numerical accuracy sometimes the 'brightest' point loses it's alpha. The following example illustrates this: import matplotlib.pyplot as mpl import numpy as np np.random.seed(-12421412) x = np.random.random(10000) y = np.random.random(10000) c = np.random.random(10000) fig = mpl.figure() ax = fig.add_subplot(111) ax.scatter(x,y,c=c,alpha=0.01,cmap=mpl.cm.jet) fig.canvas.draw() Is this a bug in the way the colormap/alpha is handled? Thanks, Thomas -- View this message in context: http://www.nabble.com/bug-in-scatter--tp24811933p24811933.html Sent from the matplotlib - users mailing list archive at Nabble.com. |