|
From: <md...@us...> - 2007-09-24 17:33:08
|
Revision: 3886
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=3886&view=rev
Author: mdboom
Date: 2007-09-24 10:33:03 -0700 (Mon, 24 Sep 2007)
Log Message:
-----------
Fixed log scaling again.
Modified Paths:
--------------
branches/transforms/lib/matplotlib/scale.py
branches/transforms/lib/matplotlib/ticker.py
branches/transforms/lib/matplotlib/transforms.py
Modified: branches/transforms/lib/matplotlib/scale.py
===================================================================
--- branches/transforms/lib/matplotlib/scale.py 2007-09-24 16:54:37 UTC (rev 3885)
+++ branches/transforms/lib/matplotlib/scale.py 2007-09-24 17:33:03 UTC (rev 3886)
@@ -23,6 +23,7 @@
self._base = base
self._viewLim = viewLim
self._direction = direction
+ self.set_children(['_viewLim'])
def transform(self, a):
a, affine = self.transform_without_affine(a)
@@ -31,13 +32,9 @@
def transform_without_affine(self, a):
# MGDTODO: Support different bases
base = self._base
- marray = ma.masked_where(a <= 0.0, a)
+ marray = ma.masked_where(a <= 0.0, a * 10.0)
marray = npy.log10(marray)
- minimum, maximum = getattr(self._viewLim, self._direction)
- minimum, maximum = npy.log10([minimum, maximum])
- print marray
- print Affine1D.from_values(maximum - minimum, minimum).inverted()
- print minimum, maximum
+ minimum, maximum = npy.log10(getattr(self._viewLim, self._direction) * 10.0)
return marray, Affine1D.from_values(maximum - minimum, minimum).inverted()
def inverted(self):
@@ -51,11 +48,12 @@
self._base = base
self._viewLim = viewLim
self._direction = direction
-
+ self.set_children(['_viewLim'])
+
def transform(self, a):
- minimum, maximum = getattr(self._viewLim, self._direction)
- Affine1D.from_values(maximum - minimum, minimum).transform(a)
- return ma.power(10.0, a)
+ minimum, maximum = npy.log10(getattr(self._viewLim, self._direction) * 10.0)
+ a = Affine1D.from_values(maximum - minimum, minimum).transform(a)
+ return ma.power(10.0, a) / 10.0
def inverted(self):
return LogScale.LogTransform(self._viewLim, self._direction, self._base)
Modified: branches/transforms/lib/matplotlib/ticker.py
===================================================================
--- branches/transforms/lib/matplotlib/ticker.py 2007-09-24 16:54:37 UTC (rev 3885)
+++ branches/transforms/lib/matplotlib/ticker.py 2007-09-24 17:33:03 UTC (rev 3886)
@@ -928,15 +928,19 @@
# if minpos<=0:
# raise RuntimeError('No positive data to plot')
- minpos = max(vmin, 0.00001) #MGDTODO
- if vmin<=0:
- vmin = minpos
+ # MGDTODO: Find a good way to track minpos
+ if vmin <= 0.0:
+ vmin = 0.1
+
if not is_decade(vmin,self._base): vmin = decade_down(vmin,self._base)
if not is_decade(vmax,self._base): vmax = decade_up(vmax,self._base)
if vmin==vmax:
vmin = decade_down(vmin,self._base)
vmax = decade_up(vmax,self._base)
- return mtransforms.nonsingular(vmin, vmax)
+ print vmin, vmax
+ result = mtransforms.nonsingular(vmin, vmax)
+ print result
+ return result
class AutoLocator(MaxNLocator):
def __init__(self):
Modified: branches/transforms/lib/matplotlib/transforms.py
===================================================================
--- branches/transforms/lib/matplotlib/transforms.py 2007-09-24 16:54:37 UTC (rev 3885)
+++ branches/transforms/lib/matplotlib/transforms.py 2007-09-24 17:33:03 UTC (rev 3886)
@@ -181,7 +181,7 @@
def __init__(self, points):
BboxBase.__init__(self)
self._points = npy.asarray(points, npy.float_)
-
+
#@staticmethod
def unit():
return Bbox.from_lbrt(0., 0., 1., 1.)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|