Revision: 8304
          http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8304&view=rev
Author:   mdboom
Date:     2010-05-10 18:58:07 +0000 (Mon, 10 May 2010)

Log Message:
-----------
Use a different strategy for the LogLocator for radial lines on polar plots.

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

Modified: trunk/matplotlib/lib/matplotlib/ticker.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/ticker.py   2010-05-10 18:20:19 UTC (rev 
8303)
+++ trunk/matplotlib/lib/matplotlib/ticker.py   2010-05-10 18:58:07 UTC (rev 
8304)
@@ -1196,13 +1196,14 @@
     Determine the tick locations for log axes
     """
 
-    def __init__(self, base=10.0, subs=[1.0]):
+    def __init__(self, base=10.0, subs=[1.0], numdecs=4):
         """
         place ticks on the location= base**i*subs[j]
         """
         self.base(base)
         self.subs(subs)
         self.numticks = 15
+        self.numdecs = numdecs
 
     def base(self,base):
         """
@@ -1227,6 +1228,14 @@
         b=self._base
 
         vmin, vmax = self.axis.get_view_interval()
+
+        if self.axis.axes.name == 'polar':
+            vmax = math.ceil(math.log(vmax) / math.log(b))
+            decades = np.arange(vmax - self.numdecs, vmax)
+            ticklocs = b ** decades
+
+            return ticklocs
+
         if vmin <= 0.0:
             vmin = self.axis.get_minpos()
             if vmin <= 0.0:
@@ -1265,10 +1274,16 @@
 
     def view_limits(self, vmin, vmax):
         'Try to choose the view limits intelligently'
+        b = self._base
 
         if vmax<vmin:
             vmin, vmax = vmax, vmin
 
+        if self.axis.axes.name == 'polar':
+            vmax = math.ceil(math.log(vmax) / math.log(b))
+            vmin = b ** (vmax - self.numdecs)
+            return vmin, vmax
+
         minpos = self.axis.get_minpos()
 
         if minpos<=0:


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

------------------------------------------------------------------------------

_______________________________________________
Matplotlib-checkins mailing list
Matplotlib-checkins@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins

Reply via email to