Revision: 3897
          http://matplotlib.svn.sourceforge.net/matplotlib/?rev=3897&view=rev
Author:   mdboom
Date:     2007-09-26 07:08:12 -0700 (Wed, 26 Sep 2007)

Log Message:
-----------
Fix log transforms a little.

Modified Paths:
--------------
    branches/transforms/lib/matplotlib/scale.py
    branches/transforms/lib/matplotlib/transforms.py

Modified: branches/transforms/lib/matplotlib/scale.py
===================================================================
--- branches/transforms/lib/matplotlib/scale.py 2007-09-26 13:55:41 UTC (rev 
3896)
+++ branches/transforms/lib/matplotlib/scale.py 2007-09-26 14:08:12 UTC (rev 
3897)
@@ -73,6 +73,36 @@
         def inverted(self):
             return LogScale.Log2Transform()
 
+    class NaturalLogTransform(Transform):
+        input_dims = 1
+        output_dims = 1
+        def __init__(self):
+            Transform.__init__(self)
+
+        def is_separable(self):
+            return True
+            
+        def transform(self, a):
+            return ma.log(ma.masked_where(a <= 0.0, a * npy.e))
+            
+        def inverted(self):
+            return LogScale.InvertedNaturalLogTransform()
+
+    class InvertedNaturalLogTransform(Transform):
+        input_dims = 1
+        output_dims = 1
+        def __init__(self):
+            Transform.__init__(self)
+
+        def is_separable(self):
+            return True
+            
+        def transform(self, a):
+            return ma.power(npy.e, a) / npy.e
+
+        def inverted(self):
+            return LogScale.Log2Transform()
+        
     class LogTransform(Transform):
         input_dims = 1
         output_dims = 1
@@ -84,14 +114,12 @@
             return True
             
         def transform(self, a):
-            if len(a) > 10:
-                print "Log Transforming..."
             return ma.log(ma.masked_where(a <= 0.0, a * self._base)) / 
npy.log(self._base)
             
         def inverted(self):
             return LogScale.InvertedLogTransform(self._base)
 
-    class InvertedLog2Transform(Transform):
+    class InvertedLogTransform(Transform):
         input_dims = 1
         output_dims = 1
         def __init__(self, base):
@@ -113,7 +141,8 @@
             self._transform = self.Log10Transform()
         elif base == 2.0:
             self._transform = self.Log2Transform()
-        # MGDTODO: Natural log etc.
+        elif base == npy.e:
+            self._transform = self.NaturalLogTransform()
         else:
             self._transform = self.LogTransform(base)
             

Modified: branches/transforms/lib/matplotlib/transforms.py
===================================================================
--- branches/transforms/lib/matplotlib/transforms.py    2007-09-26 13:55:41 UTC 
(rev 3896)
+++ branches/transforms/lib/matplotlib/transforms.py    2007-09-26 14:08:12 UTC 
(rev 3897)
@@ -1069,15 +1069,6 @@
     return CompositeGenericTransform(a, b)
 
 
-class LogTransform(Transform):
-    input_dims = 1
-    output_dims = 1
-    
-    def transform(self, a):
-        m = ma.masked_where(a < 0, a)
-        return npy.log10(m)
-
-
 class TestPolarTransform(Transform):
     input_dims = 2
     output_dims = 2


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

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Matplotlib-checkins mailing list
Matplotlib-checkins@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins

Reply via email to