Handling alpha can become very tricky with matplotlib. The problem is not specific for legend thing, but how attribute of patches are updated when the update_from method is called. Here is an example.
from matplotlib.patches import Patch pa1 = Patch(alpha=None, fc='none', ec='b') pb1 = Patch(alpha=1, fc='none', ec='b') pa2 = Patch() pb2 = Patch() pa2.update_from(pa1) pb2.update_from(pb1) assert pa1.get_fc() == pa2.get_fc() assert pb1.get_fc() == pb2.get_fc() And the second assertion fails. fc="none" sets facecolor to (0,0,0,0) but when update_from is called, somehow its alpha value is overridden to 1 (because of alpha=1). This seems to be a bug and maybe we need to tweak the update_from method to get it right. But others may think differently. I'll file an issue with it. Meanwhile, please explicitly set fill=False to avoid filling. e.g., ax.fill(y,x, label='alpha=1', alpha=0.5, fc='none', ec='r', fill=False) Regards, -JJ On Tue, Apr 17, 2012 at 12:49 AM, Paul Hobson <pmhob...@gmail.com> wrote: > On Mon, Apr 16, 2012 at 4:58 AM, Yannick Copin > <yannick.co...@laposte.net> wrote: >> Hi List, >> >> I think I found a bug in legend of a fill command (see attached code and >> figure) when the facecolor is 'none' but the alpha is not None (I'm using >> latest matplotlib 1.1.0). If confirmed, should I fill in a but report? > > I see identical behavior in Christoph Gohlke's Windows build of > Matplotlib 1.2.X for Python 3.2. > > The same thing occurs if you remove the "alpha=None" altogether. > -paul > > ------------------------------------------------------------------------------ > For Developers, A Lot Can Happen In A Second. > Boundary is the first to Know...and Tell You. > Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! > http://p.sf.net/sfu/Boundary-d2dvs2 > _______________________________________________ > Matplotlib-users mailing list > Matplotlib-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/matplotlib-users ------------------------------------------------------------------------------ For Developers, A Lot Can Happen In A Second. Boundary is the first to Know...and Tell You. Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! http://p.sf.net/sfu/Boundary-d2dvs2 _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users