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 wrote:
> On Mon, Apr 16, 2012 at 4:58 AM, Yannick Copin
> 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