|
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
|