On 08/27/2010 09:09 AM, Ryan May wrote: > On Fri, Aug 27, 2010 at 12:20 PM, Thomas Robitaille > <thomas.robitai...@gmail.com> wrote: >> Hi, >> >> The following code: >> >> from matplotlib.patches import Ellipse >> from matplotlib.collections import PatchCollection >> p = PatchCollection([Ellipse((0.5,0.5),0.2,0.1)], match_original=True) >> >> raises the following exception: >> >> Traceback (most recent call last): >> File "test_patches.py", line 5, in<module> >> p = PatchCollection([Ellipse((0.5,0.5),0.2,0.1)], match_original=True) >> File >> "/Users/tom/Library/Python/2.6/site-packages/matplotlib/collections.py", >> line 1041, in __init__ >> facecolors = [determine_facecolor(p) for p in patches] >> File >> "/Users/tom/Library/Python/2.6/site-packages/matplotlib/collections.py", >> line 1037, in determine_facecolor >> if patch.fill: >> AttributeError: 'Ellipse' object has no attribute 'fill' >> >> I have submitted a ticket: >> https://sourceforge.net/tracker/?group_id=80706&atid=560720 > > The obvious fix would be to change from patch.fill to > patch.get_fill(). However, I'm curious how this code got broken.
I broke it here: http://currents.soest.hawaii.edu/hgstage/hgwebdir.cgi/mpl_hg/diff/799df584a8df/matplotlib/lib/matplotlib/patches.py The safest way to fix it--that is, preserving the old behavior of patch.fill--would be to make it a property. I can do that later today or tomorrow, or you can go ahead with it. It would be something of an inconsistency, in that for partly historical reasons mpl is based on an endless procession of getters and setters, but I don't think it would do any harm, and it does preserve the earlier API. At the same time, it would be OK to use get_fill in the PatchCollection--it will work, and it is more consistent with typical mpl usage. So, I think the best fix is to make both changes, with a comment in patches.py as to why fill is a property. Eric > > Eric, any ideas? SVN claims that the last change to that line was done > by you (based on a bug *I* reported)? It apparently worked then: > > http://sourceforge.net/mailarchive/message.php?msg_name=487A5AE3.5070500%40gmail.com > > Ryan > ------------------------------------------------------------------------------ Sell apps to millions through the Intel(R) Atom(Tm) Developer Program Be part of this innovative community and reach millions of netbook users worldwide. Take advantage of special opportunities to increase revenue and speed time-to-market. Join now, and jumpstart your future. http://p.sf.net/sfu/intel-atom-d2d _______________________________________________ Matplotlib-devel mailing list Matplotlib-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-devel