Re: [matplotlib-devel] qt4_editor

2010-04-11 Thread Peter Butterworth
I've now uploaded the final version for review at the sourceforge tracker :
https://sourceforge.net/tracker/?func=detail&aid=2981606&group_id=80706&atid=560722

figureoptions.py: modify plot options interactively (see attached screenshot)
Requires PyQt4 installed

Support of :
- Axes (xy scale)
- Legend
- Lines
- Patches (Rectangle, Ellipse, Polygon, dolphins...)
- Texts

Ignores :
- Collections

Limitations:
- not available for multiple axes in the same subplot


> On Sat, Apr 3, 2010 at 6:23 AM, Gökhan Sever  wrote:
>> Hi Peter,
>>
>> Your previous addition looks fine here. Keep pinging probably someone should
>> commit your additions.
<>--
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] Contouring unstructured triangular grids

2010-04-11 Thread Eric Firing
Ian Thomas wrote:
> Hello all,
> 
> Attached is a patch file against svn head to add triangular grid
> plotting and contouring.  It will need some serious checking/reviewing
> before it can be added to MPL.  I've tested it on 32 and 64-bit Linux,
> but I don't use other operating systems very often.
> 
> Most of the new code is in a new directory lib/matplotlib/tri.  There
> is a Triangulation class to store an unstructured triangular grid for
> reuse; the user can either specify the triangles or allow
> matplotlib.delaunay to create a Delaunay triangulation.  There are
> three plotting functions: triplot to plot grid lines and points,
> tripcolor to draw a pseudoplot, and tricontour/tricontourf to
> calculate and draw contour lines and filled contours.  You can either
> pass in a Triangulation object to these functions, or pass in the x,y
> points, etc and have MPL create a temporary Triangulation for you (for
> convenience).
> 
> The underlying contouring code is C++, and I've used CXX to access it.
> 
> There are some changes to axes.py and pyplot.py to expose the new
> functionality, and changes to the build scripts to build the new C++
> module.  I've also changed contour.py, splitting the previous
> ContourSet class into ContourSet and a derived QuadContourSet so there
> is separate responsibility for creating contours (QuadContourSet) and
> storage/display (ContourSet).  ContourSet allows you to specify your
> own polygons to draw, which should allow easier extension to other
> contouring algorithms.  QuadContourSet is now used by contour/contourf
> to create contour lines/polygons for a quad grid and the base class
> stores and draws them.  The benefit of this approach is that
> QuadContourSet is a relatively small class, allowing the equivalent
> triangular grid contouring class TriContourSet to be similarly small,
> and there is little code duplication.
> 
> I've added examples to demonstrate the new functionality, including
> manually creating your own contours, and also a comparison between
> griddata and tricontourf to contour unstructured grids.
> 
> Both the C++ and python are documented, but as I'm not familiar with
> the relationship between pydoc strings and sphinx, you may need to
> guide me further to increase/reduce links between and duplication of
> pydocs.
> 
> All questions and comments gratefully received.
> Ian

Ian,

I've only glanced so far, but one thing that caught my eye is your 
documentation changes and code regarding the need for simply-connected 
paths.  This is obsolete--mpl now handles multiply-connected paths.  If 
you look in cntr.c, you will find a "reorder()" function which converts 
the simply-connected paths to multiply-connected paths, which render 
better, because they don't have the cuts.  (Maybe the core routines in 
cntr.c could be modified so that the multiply-connected paths would be 
generated directly, so that reorder() would not be needed; but I find 
those routines very difficult to follow, so writing reorder() was easier.)

A second initial suggestion is that you divide the work into two 
patches, one of which provides the refactoring of existing code 
(presumably only in contour.py), and a second which adds the new 
functionality.  This would make reviewing and debugging easier.  (Your 
contour_manual.py could also go in the first patch.)

Thanks for all the good work!

Eric


--
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel