Am I correct that you would like to add new kinds of plots to matplotlib 
that transform the raw data in some new way?  Though transforms are 
involved, at the higher level you see this referred to as "projections" 
a lot in the mpl code.

There are a number of approaches you could take, all of which have 
different tradeoffs, rather than there being one "Right Way".

In matplotlib-0.91 (and earlier) there is an underlying framework for 
doing transformations (in _transforms.cpp).  This framework, while its 
does it job well, is kind of obscure and difficult to extend with new 
kinds of transformations.  But it's certainly doable, and you can look 
at the code for polar plots (in axes.py) for an example.

As a result, the current SVN trunk has been heavily refactored to make 
adding new kinds of projections easier.  I'm biased because I did a lot 
of that work, so I wouldn't want to claim that it is significantly 
easier until someone else comes along and uses the new framework to 
build something new.  (I think the soil texture triangle plot you 
suggest seems like it would be a reasonably good fit, though).  If you 
decide to take this approach, there is documentation for making new 
projections here:

http://matplotlib.svn.sourceforge.net/viewvc/*checkout*/matplotlib/trunk/matplotlib/doc/devel/add_new_projection.rst

Again, that documentation has largely gone unused by anyone but myself, 
so please let me know where it needs improvement.  Of course, the 
downside is that it may be a number of months until the SVN trunk is 
released as a stable version.

Alternatively to all of the above, you could take the approach of 
"basemap" (a toolkit extension to matplotlib).  It (essentially) does 
all of the transformation of the data into a given projection internally 
and then passes that along as a regular Cartesian 2D plot to 
matplotlib.  That approach does work well, and has shown to be rather 
robust to internal changes in mpl, since it primarily uses the "public" 
(and more stable) APIs.

Hope that helps.  Please ask if you have any more questions as you go.

Mike


Chloe Lewis wrote:
> I stick to releases, so, 0.91.2; although if the transforms are about 
> to change a lot, maybe I'll put off the 'right way'.
>
> The first thing I'm writing is an easy version of the 'soil texture 
> triangle' -- plotting x+y+z=100, but on an equilateral triangle:
>
> http://www.uwsp.edu/geo/faculty/ritter/glossary/s_u/soil_texture_triangle.html
>  
>
>
> Scatters and patches on this are handy.
>
> There's another handful of triangular, sort-of-rigorous 3-variable 
> graphs commonly used by ecosystem scientists, which I'd like to extend 
> to.
>
> &C
>
>
> On Mar 7, 2008, at 7 Mar, 10:30 AM, Michael Droettboom wrote:
>
>> Can you be a bit more specific about what you're trying to do?  (Are 
>> you working with the latest SVN trunk, or the latest release 0.91.x?  
>> The two are considerably different wrt to the transforms framework(s)).
>>
>> Cheers,
>> Mike
>>
>> Chloe Lewis wrote:
>>> Any current transforms examples? The transforms docs suggest 
>>> looking  in /units for transforms examples; the current matplotlib 
>>> examples  has /units without transforms. (I want something a bit 
>>> more detailed  than the offset.)
>>>
>>> If the transforms are currently too much in flux, I'll do something  
>>> one-off, but I'd like to do it the Right Way if I can.
>>>
>>> &C
>>>
>>>
>>>
>>>
>>> ------------------------------------------------------------------------- 
>>>
>>> This SF.net email is sponsored by: Microsoft
>>> Defy all challenges. Microsoft(R) Visual Studio 2008.
>>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>>> _______________________________________________
>>> Matplotlib-users mailing list
>>> Matplotlib-users@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>>
>>
>> -- 
>> Michael Droettboom
>> Science Software Branch
>> Operations and Engineering Division
>> Space Telescope Science Institute
>> Operated by AURA for NASA
>>
>

-- 
Michael Droettboom
Science Software Branch
Operations and Engineering Division
Space Telescope Science Institute
Operated by AURA for NASA


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to