I need to generate a fairly complex chart, for which I need the ability to
specify not only subplots, but also sub-subplots, and even
sub-sub-sub-plots. (Our group has found such charts useful in the past, but
they were generated using horrific MATLAB code.)
I'll try to describe what I want to do in a bit more detail (it's messy).
First imagine a simple plot (just a simple X-Y line graph connecting 3-4
datapoints). I'll call this a level-0 plot. Now, join ~10 of these level-0
plots side-by-side (with no space between the plots). This new aggregate is
a level-1 plot. Next stack ~10 level-1 plots vertically, again, with no
space between them. The resulting aggregate is a level-2 plot. Finally
arrange ~10 of these level-2 plots side-by-side, with some spacing between
them. The desired final product is this level-3 plot.
Without knowing much about the internals of matplotlib, it seems to me that
the best way to do this would be to define a container class that can have
itself as one of the contained elements. In this way, a containment
hierarchy of arbitrary depth could be defined. But it is my understanding
that there is no immediate way to do this in matplotlib now, so I'd have to
implement it myself.
I could use some guidance to the source code.
What I need to clarify is the following. First consider some simple plot A:
it has axes, data points, tick marks, labels, etc., and for all these
elements there are associated absolute x-y coordinates on the canvas. If
now we make this plot A one of the subplots in a collection of, say, 12
subplots, arranged as 3 rows of 4 subplots each, all the x-y coordinates
associated with the original plot A will have to be translated and scaled,
so that the subplot lands in the right place on the canvas, and has the
appropriate size. This process of translation and scaling is what I want to
pinpoint: What exactly is the connection between running the add_subplot
method and the translation+scaling that it entails?
What would be a good entry point for me to answer the questions above by
reading the source code?
TIA!
~kj
------------------------------------------------------------------------------
Nokia and AT&T present the 2010 Calling All Innovators-North America contest
Create new apps & games for the Nokia N8 for consumers in U.S. and Canada
$10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing
Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store
http://p.sf.net/sfu/nokia-dev2dev
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel