On Wed, Apr 1, 2009 at 2:50 PM, empty83 <matt.te...@gmail.com> wrote: > > I understand why things were not behaving as I expected and I don't really > have any good ideas on how to make a legend from a RegularPolyCollection in > general. > > However, I do not grok why fill_between returns a RegularPolyCollection > rather than a Polygon (like fill does). Does fill_between(x,y0,y1) differ > substantially from fill(x+x[::-1], y0+y1[::-1])? To me this seems like the > most intuitive behavior.
Because fill_between handles masks, it uses a collection (a PolyCollection, not a RegularPolyCollection) rather than a simple Polygon. For example, see the use of the "where" argument in the second plot at http://matplotlib.sourceforge.net/examples/pylab_examples/fill_between.html The simplest way to handle this for the legend is probably to create a proxy Rectangle with the same properties as the first element in the poly collection. Since it is not designed to support multiple properties for the different fill regions, we might be able to improve this from a design and performance perspective by using a complex Path instead of a PolyCollection. In the interim, you can always manually create a legend using a proxy Rectangle passed in as a handle to the legend, though admittedly this is much more cumbersome. JDH ------------------------------------------------------------------------------ _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users