Nick,

Thanks for the bug report.  I have been making some changes to use 
numerix more consistently internally, and fixing this bug would be a 
step in that direction.  I will take a look.

Eric

Nick Fotopoulos wrote:
> Dear matplotlib-users,
> 
> I'd like to report a bug in Polygon, which is crashing with an  
> unhelpful error message where an exception would be appropriate.  The  
> problem occurs when you feed Polygon an Nx2 array instead of an N- 
> length list of 2-tuples.  This is on my PPC OSX system, with  
> everything freshly checked out from SVN (should the matplotlib  
> version still be 0.87.4?).
> 
> Versions:
> In [152]: numpy.__version__
> Out[152]: '1.1.2881'
> In [154]: matplotlib.__version__
> Out[154]: '0.87.4'
> 
> 
> Code:
> import pylab, numpy
> 
> theta = numpy.pi/4*numpy.arange(9,dtype=float)
> 
> x = numpy.cos(theta)
> y = numpy.sin(theta)
> 
> # The following line works
> #p = pylab.Polygon(zip(x,y))
> 
> # The following line causes a crash
> p = pylab.Polygon(numpy.vstack((x,y)).T)
> 
> ax = pylab.subplot(111)
> ax.add_patch(p)
> pylab.show()
> 
> 
> Output:
> In [155]: run plot_polygon.py
> ------------------------------------------------------------------------ 
> ---
> exceptions.TypeError                                 Traceback (most  
> recent call last)
> 
> /Users/nvf/Documents/S.M. Thesis/plot_polygon.py
>       10
>       11 ax = pylab.subplot(111)
> ---> 12 ax.add_patch(p)
>       13 pylab.show()     14
> 
> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site- 
> packages/matplotlib/axes.py in add_patch(self, p)
>      899             p.get_transform(), p.get_verts())
>      900         #for x,y in xys: print x,y
> --> 901         self.update_datalim(xys)
>      902         self.patches.append(p)
>      903
> 
> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site- 
> packages/matplotlib/axes.py in update_datalim(self, xys)
>      913         # Otherwise, it will compute the bounds of it's  
> current data
>      914         # and the data in xydata
> --> 915         self.dataLim.update(xys, -1)
>      916
>      917
> 
> TypeError: CXX : Error creating object of type N2Py5TupleE
> WARNING: Failure executing file: <plot_polygon.py>
> 
> 
> Instead of converting from crash to exception, though, would it be  
> possible to make it accept an Nx2 array?
> 
> Please at least cc me in any replies, as I am not subscribed to this  
> list.
> 
> Thanks,
> Nick
> 
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys -- and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> Matplotlib-users mailing list
> Matplotlib-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to