From: John H. <jdh...@ac...> - 2004-02-11 23:51:49
|
>>>>> "Perry" == Perry Greenfield <pe...@st...> writes: Perry> I like the sounds of this approach even more. But I wonder Perry> if it can be made somewhat more generic. This approach (if Perry> I read it correctly seems to need a backend function for Perry> each shape: perhaps only for circle?). What I was thinking Perry> was if there was a way to pass it the vectors or path for a Perry> symbol (for very often, many points will share the same Perry> shape, if not all the same x,y scale). Of course (slaps self on head). matplotlib 0.1 was designed around gtk drawing which doesn't support paths. Although I've been mumbling about adding paths for sometime (what with paint, ps, and agg), I'm still thinking inside the box. A collection of paths is the natural solution Perry> I suppose circle and other curved items could be handled Perry> with A bezier type call. Agg special cases this one with a dedicated ellipse function. ellipse(ex, y, width, height, numsteps) It's still a path, but you have a dedicated function to build that path up speedily. One potential drawback: how do you bring along the other backends that don't have path support? In the RectangleCollection approach, we can always fall back on draw_rectangle. In the path collection, it's more difficult. backend_gtk (pygtk) - no support for paths AFAIK backend_wx (wxpython) - no support for paths AFAIK; Jeremy? backend_ps - full path support backend_agg - ditto backend_gd - partial, I think; gotta check backend_paint (libart) - full, perhaps with bugs JDH |