Hi everyone,

I was looking at the Axes code. In particular I think of implementing a 
Axes.lines method, which would unify Axes.hlines and Axes.vlines, reducing the 
required code maintenance. I have also studied the code of these two methods, 
and I have now several questions/remarks.

 * hlines(y=iter(xrange(5), ...) is declared to work, since 
   "*y*: a 1-D numpy array or iterable." However, this will produce an error in
   the end, because y ends up passed to a np.asarray, instead of np.fromiter.
   This bug is easy to fix, however I would like to know what is the desired
   overall behavior of the function, see the following.
 * These two functions are designed to pass arguments to 
   collections.LineCollection, which actually is ok with taking an iterable as 
an
   argument, however these functions forms first a numpy array, then a list of
   tuples. The allowed arguments to these functions, in the meantime aren't even
   homogeneous: some are required to be scalars or iterators, some scalars or
   numpy arrays.
 * Scalars are interpreted as constant iterators. Would it be also a reasonable
   behavior to interpret shorter iterators as cycles, or should only scalars be
   allowed as special values?
 * When checking for scalars is there a reason to favor cbook.scalar, which uses
   a crude method over np.isscalar, which is presumably more thorough?
 * A somewhat related question: unit converter interface specifies that it 
should 
   work on sequences (objects which have length and many other extra 
properties).
   At the same time, unit conversion in several parts of code is applied to
   objects which are allowed to be just iterators. Should unit conversion
   actually also work on iterators, or should matplotlib not take anywhere where
   unit conversion is used? By the way, units.ConversionInterface could benefit
   from using python abc abstract base classes module. Does it make sense to 
add?
 * Finally, does it make sense to combine hlines and vlines?

Best regards,
Anton Akhmerov
 


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to