ax.scatter broken for triangular markers

Hi,

I updated to the latest svn version of matplotlib this morning, and Axes.scatter seems to be broken when using marker='v', '>', '<', or '^':

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as mpl

fig = mpl.figure()
ax = fig.add_subplot(1,1,1)
ax.scatter([1,2,3], [4,5,6], marker='v')
fig.savefig('test.png')

gives:

Traceback (most recent call last):
  File "test.py", line 7, in <module>
    ax.scatter([1,2,3], [4,5,6], marker='^')
  File "/Users/tom/Library/Python/2.6/site-packages/matplotlib/axes.py", line 5764, in scatter
    transOffset = self.transData,
  File "/Users/tom/Library/Python/2.6/site-packages/matplotlib/collections.py", line 695, in __init__
    self._paths = [self._path_generator(numsides)]
  File "/Users/tom/Library/Python/2.6/site-packages/matplotlib/path.py", line 415, in unit_regular_polygon
    path = cls(verts, codes)
  File "/Users/tom/Library/Python/2.6/site-packages/matplotlib/path.py", line 117, in __init__
    assert len(codes) == len(vertices)
AssertionError

This did not occur when I updated to the latest svn a couple of days ago, so it must be due to a pretty recent change.

Cheers,

Tom

Should be fixed in r8648 now.

Mike

···

On 08/18/2010 11:45 AM, Thomas Robitaille wrote:

Hi,

I updated to the latest svn version of matplotlib this morning, and Axes.scatter seems to be broken when using marker='v', '>','<', or '^':

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as mpl

fig = mpl.figure()
ax = fig.add_subplot(1,1,1)
ax.scatter([1,2,3], [4,5,6], marker='v')
fig.savefig('test.png')

gives:

Traceback (most recent call last):
   File "test.py", line 7, in<module>
     ax.scatter([1,2,3], [4,5,6], marker='^')
   File "/Users/tom/Library/Python/2.6/site-packages/matplotlib/axes.py", line 5764, in scatter
     transOffset = self.transData,
   File "/Users/tom/Library/Python/2.6/site-packages/matplotlib/collections.py", line 695, in __init__
     self._paths = [self._path_generator(numsides)]
   File "/Users/tom/Library/Python/2.6/site-packages/matplotlib/path.py", line 415, in unit_regular_polygon
     path = cls(verts, codes)
   File "/Users/tom/Library/Python/2.6/site-packages/matplotlib/path.py", line 117, in __init__
     assert len(codes) == len(vertices)
AssertionError

This did not occur when I updated to the latest svn a couple of days ago, so it must be due to a pretty recent change.

Cheers,

Tom
------------------------------------------------------------------------------
This SF.net email is sponsored by

Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
matplotlib-devel List Signup and Options
   
--
Michael Droettboom
Science Software Branch
Space Telescope Science Institute
Baltimore, Maryland, USA

I can confirm that this now works fine - thanks for the quick fix!

Tom

···

On Aug 18, 2010, at 12:09 PM, Michael Droettboom wrote:

Should be fixed in r8648 now.

Mike

On 08/18/2010 11:45 AM, Thomas Robitaille wrote:

Hi,

I updated to the latest svn version of matplotlib this morning, and Axes.scatter seems to be broken when using marker='v', '>','<', or '^':

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as mpl

fig = mpl.figure()
ax = fig.add_subplot(1,1,1)
ax.scatter([1,2,3], [4,5,6], marker='v')
fig.savefig('test.png')

gives:

Traceback (most recent call last):
  File "test.py", line 7, in<module>
    ax.scatter([1,2,3], [4,5,6], marker='^')
  File "/Users/tom/Library/Python/2.6/site-packages/matplotlib/axes.py", line 5764, in scatter
    transOffset = self.transData,
  File "/Users/tom/Library/Python/2.6/site-packages/matplotlib/collections.py", line 695, in __init__
    self._paths = [self._path_generator(numsides)]
  File "/Users/tom/Library/Python/2.6/site-packages/matplotlib/path.py", line 415, in unit_regular_polygon
    path = cls(verts, codes)
  File "/Users/tom/Library/Python/2.6/site-packages/matplotlib/path.py", line 117, in __init__
    assert len(codes) == len(vertices)
AssertionError

This did not occur when I updated to the latest svn a couple of days ago, so it must be due to a pretty recent change.

Cheers,

Tom
------------------------------------------------------------------------------
This SF.net email is sponsored by

Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
matplotlib-devel List Signup and Options

--
Michael Droettboom
Science Software Branch
Space Telescope Science Institute
Baltimore, Maryland, USA

------------------------------------------------------------------------------
This SF.net email is sponsored by

Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
matplotlib-devel List Signup and Options