Layout of graph widgets

Hi, I just subscribed to the list and have been looking at the source.
I wrote a python graphing library so lots of the internals are familair
(how many ways can you draw a line?) but spending a couple hours browsing
the code I can't get a handle on how layout is done. Are things generally
at fixed positions? Are there some things I can subclass/decorate to get
a different look or feel?

I had a longstanding misimpression that matplotlib was a wrapper around
matlab or I might have abandoned my custom work and just thrown in here.
If I can get graphs that look like this[1] I'll do just that.

Sorry for the vague questions, but I'll try to recompense by porting my PIL
and ming backends over Christmas. The unmodified backends are stupid similar
to matplotlib (again, there aren't too many ways to spell 'line')

Python 2.3.4 (#2, Dec 3 2004, 13:53:17)
[GCC 3.3.5 (Debian 1:3.3.5-2)] on linux2
Type "help", "copyright", "credits" or "license" for more information.

import Graph
filter(lambda x:'__' not in x, dir(Graph.mingDraw))

['circle', 'clip', 'color', 'color_from_tup', 'line', 'pieslice', 'polygon',
'rectangle', 'shape_circle', 'shape_line', 'shape_pieslice',
  'shape_rectangle', 'text', 'tup_from_color', 'write']

Ignore the "shape_*" methods, they just return a handle to paintable objects
instead of doing the paint right away (required for doing hovers and sprites
in ming/Flash).

-Jack

[1] I only need a few kinds of graphs but they are for marketing folks
    instead of tech folks so purtier is better. I put up some samples of
    our current output here (png & Flash)
    http://jackdied.com/jackdied/graph_sample.html