Hello,

I'm still interested in having a polygon symbol in the legend for a 
scatter plot. I've made some changes to the suggestion of Manuel Metz to 
make the legend symbol look better (the code-fragment from legend.py is 
below). But when resizing the window, the symbol gets stretched and 
placed in a bad location; it appears that the symbol is stretched and 
scaled in the same manner as the legend box as a whole, while I think it 
would look better if the symbol maintained the same size and aspect 
ratio, but merely moved to the appropriate location within the resized 
legend.

I would like to add this functionality, but I need some help to 
understand the required transformations or scaling to make it look good. 
Perhaps someone with a better understanding could provide some help?

Thanks,
Paul Novak



             elif isinstance(handle, RegularPolyCollection):
                 if self.numpoints == 1:
                     xdata = np.array([left])

                 for path in handle.get_paths():
                     xy = path.vertices

                 p = Polygon(xy)

                 x = min(xdata)
                 y = y-0.5*HEIGHT
# 0.35 * HEIGHT makes the legend symbol an appropriate size.
# patch_aspect scales the legend symbol to the appropriate aspect ratio.
                 patch_aspect = (max(xy[:,0]) - min(xy[:,0])) / 
(max(xy[:,1]) - min(xy[:,1]))
                 bbox = Bbox.from_bounds(x, y, 0.35 * HEIGHT, 0.35 * 
HEIGHT * patch_aspect)
                 p.set_facecolor(handle._facecolors[0])
                 if handle._edgecolors != 'None':
                     p.set_edgecolor(handle._edgecolors[0])
                 self._set_artist_props(p)
# HERE IS THE ADDITIONAL TRANSFORM FOR THE POLY
                 p.set_transform( BboxTransformTo(bbox) + 
p.get_transform() )

                 p.set_clip_box(None)
                 p.set_clip_path(None)
                 ret.append(p)



-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to