A reimplementation of the quiver command has been committed to svn.  It 
is temporarily accessible as "quiver2" so as not to interfere with the 
original quiver, and in examples there is a quiver2_demo.py.  The API 
differs from that of the original quiver.  See the docstring for 
details.  Since the earlier version that I sent out as a diff, I have 
removed the "C" kwarg (unnecessary, given the function signature) and 
added the "minlength" kwarg; if the rendered arrow is less than this 
length in units of the shaft width, then it is replaced with a hexagon 
of this diameter.  Also, the dpi bug that John found is fixed.

Some time before the next release I would like to replace the present 
quiver with quiver2.  If necessary I can use the same trick as for 
colorbar, in which the default is the new version, but the presence of a 
kwarg exclusive to the old version triggers use of the old version with 
a deprecation warning.  I would like to be able to establish a schedule 
for actually removing such deprecated code, however.

Suggestions for improvements in the API or other aspects are welcome.

On my todo list are a "key" method to draw a labeled scale arrow, and an 
ellipse-drawing capability.

The "scatter" command is quite similar and, like the proposed 
"ellipses", could take advantage of code presently in the Quiver class, 
so I will consider doing such a consolidation, using a base class or a 
mixin to factor out as much common functionality as possible.

I have looked briefly at basemap.  It looks like quiver2 will fit in OK 
with small changes; a bit more work might be needed to support some of 
the scaling options in quiver2.  In any case, whenever quiver2 does 
replace quiver I want to make sure that basemap is ready so that the new 
quiver works well with it; for my own work, velocity vectors on maps are 
central.

Eric


_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to