Revision: 7677
          http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7677&view=rev
Author:   jdh2358
Date:     2009-09-07 18:50:11 +0000 (Mon, 07 Sep 2009)

Log Message:
-----------
use the max tick limit for all tick locators

Modified Paths:
--------------
    trunk/matplotlib/lib/matplotlib/dates.py
    trunk/matplotlib/lib/matplotlib/ticker.py

Modified: trunk/matplotlib/lib/matplotlib/dates.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/dates.py    2009-09-07 18:42:41 UTC (rev 
7676)
+++ trunk/matplotlib/lib/matplotlib/dates.py    2009-09-07 18:50:11 UTC (rev 
7677)
@@ -522,9 +522,7 @@
 
         self.rule.set(dtstart=start, until=stop)
         dates = self.rule.between(dmin, dmax, True)
-        if len(dates)>=ticker.Locator.MAXTICKS:
-           raise RuntimeError('RRuleLocator attempting to generate %d ticks 
from %s to %s: exceeds matplotlib.ticker.Locator.MAXTICKS'%(len(dates), 
dates[0], dates[-1]))
-        return date2num(dates)
+        return self.raise_if_exceeds(date2num(dates))
 
     def _get_unit(self):
         """

Modified: trunk/matplotlib/lib/matplotlib/ticker.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/ticker.py   2009-09-07 18:42:41 UTC (rev 
7676)
+++ trunk/matplotlib/lib/matplotlib/ticker.py   2009-09-07 18:50:11 UTC (rev 
7677)
@@ -669,6 +669,13 @@
         'Return the locations of the ticks'
         raise NotImplementedError('Derived must override')
 
+    def raise_if_exceeds(self, locs):
+        'raise a RuntimeError if Locator attempts to create more than MAXTICKS 
locs'
+        if len(locs)>=self.MAXTICKS:
+           raise RuntimeError('Locator attempting to generate %d ticks from %s 
to %s: exceeds Locator.MAXTICKS'%(len(locs), locs[0], locs[-1]))
+        
+        return locs
+
     def view_limits(self, vmin, vmax):
         """
         select a scale for the range from vmin to vmax
@@ -728,7 +735,8 @@
     def __call__(self):
         'Return the locations of the ticks'
         dmin, dmax = self.axis.get_data_interval()
-        return np.arange(dmin + self.offset, dmax+1, self._base)
+        return self.raise_if_exceeds(
+            np.arange(dmin + self.offset, dmax+1, self._base))
 
 
 class FixedLocator(Locator):
@@ -758,7 +766,7 @@
             ticks1 = self.locs[i::step]
             if np.absolute(ticks1).min() < np.absolute(ticks).min():
                 ticks = ticks1
-        return ticks
+        return self.raise_if_exceeds(ticks)
 
 
 
@@ -812,7 +820,7 @@
         if self.numticks==0: return []
         ticklocs = np.linspace(vmin, vmax, self.numticks)
 
-        return ticklocs
+        return self.raise_if_exceeds(ticklocs)
 
 
     def _set_numticks(self):
@@ -900,7 +908,7 @@
         base = self._base.get_base()
         n = (vmax - vmin + 0.001*base)//base
         locs = vmin + np.arange(n+1) * base
-        return locs
+        return self.raise_if_exceeds(locs)
 
     def view_limits(self, dmin, dmax):
         """
@@ -1010,7 +1018,7 @@
             locs = locs[:-1]
         elif prune=='both':
             locs = locs[1:-1]
-        return locs
+        return self.raise_if_exceeds(locs)
 
     def view_limits(self, dmin, dmax):
         if self._symmetric:
@@ -1106,7 +1114,7 @@
         else:
             ticklocs = b**decades
 
-        return np.array(ticklocs)
+        return self.raise_if_exceeds(np.array(ticklocs))
 
     def view_limits(self, vmin, vmax):
         'Try to choose the view limits intelligently'
@@ -1177,7 +1185,7 @@
                 ticklocs.extend(subs * (np.sign(decade) * b ** np.abs(decade)))
         else:
             ticklocs = np.sign(decades) * b ** np.abs(decades)
-        return np.array(ticklocs)
+        return self.raise_if_exceeds(np.array(ticklocs))
 
     def view_limits(self, vmin, vmax):
         'Try to choose the view limits intelligently'
@@ -1241,7 +1249,7 @@
         if vmin > vmax:
             vmin,vmax = vmax,vmin
 
-        return locs[(vmin < locs) & (locs < vmax)]
+        return self.raise_if_exceeds(locs[(vmin < locs) & (locs < vmax)])
 
 
 class OldAutoLocator(Locator):
@@ -1256,7 +1264,7 @@
     def __call__(self):
         'Return the locations of the ticks'
         self.refresh()
-        return self._locator()
+        return self.raise_if_exceeds(self._locator())
 
     def refresh(self):
         'refresh internal information based on current lim'


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Matplotlib-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins

Reply via email to