|
From: <jd...@us...> - 2009-01-12 12:22:16
|
Revision: 6779
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6779&view=rev
Author: jdh2358
Date: 2009-01-12 12:22:11 +0000 (Mon, 12 Jan 2009)
Log Message:
-----------
Added TJ's hexbin mincnt patch; made marginals False by default
Modified Paths:
--------------
trunk/matplotlib/lib/matplotlib/axes.py
Modified: trunk/matplotlib/lib/matplotlib/axes.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/axes.py 2009-01-12 09:04:57 UTC (rev 6778)
+++ trunk/matplotlib/lib/matplotlib/axes.py 2009-01-12 12:22:11 UTC (rev 6779)
@@ -5219,7 +5219,7 @@
xscale = 'linear', yscale = 'linear',
cmap=None, norm=None, vmin=None, vmax=None,
alpha=1.0, linewidths=None, edgecolors='none',
- reduce_C_function = np.mean, mincnt=None, marginals=True,
+ reduce_C_function = np.mean, mincnt=None, marginals=False,
**kwargs):
"""
call signature::
@@ -5395,9 +5395,6 @@
d1 = (x-ix1)**2 + 3.0 * (y-iy1)**2
d2 = (x-ix2-0.5)**2 + 3.0 * (y-iy2-0.5)**2
bdist = (d1<d2)
- if mincnt is None:
- mincnt = 0
-
if C is None:
accum = np.zeros(n)
# Create appropriate views into "accum" array.
@@ -5411,7 +5408,25 @@
lattice1[ix1[i], iy1[i]]+=1
else:
lattice2[ix2[i], iy2[i]]+=1
+
+ # threshold
+ if mincnt is not None:
+ for i in xrange(nx1):
+ for j in xrange(ny1):
+ if lattice1[i,j]<mincnt:
+ lattice1[i,j] = np.nan
+ for i in xrange(nx2):
+ for j in xrange(ny2):
+ if lattice2[i,j]<mincnt:
+ lattice2[i,j] = np.nan
+ accum = np.hstack((
+ lattice1.astype(float).ravel(), lattice2.astype(float).ravel()))
+ good_idxs = ~np.isnan(accum)
+
else:
+ if mincnt is None:
+ mincnt = 0
+
# create accumulation arrays
lattice1 = np.empty((nx1,ny1),dtype=object)
for i in xrange(nx1):
@@ -5457,10 +5472,9 @@
polygons[:,nx1*ny1:,0] = np.repeat(np.arange(nx2) + 0.5, ny2)
polygons[:,nx1*ny1:,1] = np.tile(np.arange(ny2), nx2) + 0.5
- if C is not None:
- # remove accumulation bins with no data
- polygons = polygons[:,good_idxs,:]
- accum = accum[good_idxs]
+ # remove accumulation bins with no data
+ polygons = polygons[:,good_idxs,:]
+ accum = accum[good_idxs]
polygons = np.transpose(polygons, axes=[1,0,2])
polygons[:,:,0] *= sx
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|