SF.net SVN: matplotlib:[6844] trunk/matplotlib/lib/matplotlib

2009-01-28 Thread jrevans
Revision: 6844
  http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6844&view=rev
Author:   jrevans
Date: 2009-01-28 17:55:07 + (Wed, 28 Jan 2009)

Log Message:
---
Updated ConversionInterface to recieve the associated calling Axis instance for 
each of the methods.
Updated appropriate calls in other code.
Modified DateConverter to use units for timezone specification.

Modified Paths:
--
trunk/matplotlib/lib/matplotlib/axis.py
trunk/matplotlib/lib/matplotlib/dates.py
trunk/matplotlib/lib/matplotlib/units.py

Modified: trunk/matplotlib/lib/matplotlib/axis.py
===
--- trunk/matplotlib/lib/matplotlib/axis.py 2009-01-27 17:41:33 UTC (rev 
6843)
+++ trunk/matplotlib/lib/matplotlib/axis.py 2009-01-28 17:55:07 UTC (rev 
6844)
@@ -939,7 +939,7 @@
 converter = munits.registry.get_converter(data)
 if converter is None: return False
 self.converter = converter
-default = self.converter.default_units(data)
+default = self.converter.default_units(self, data)
 #print 'update units: default="%s", units=%s"'%(default, self.units)
 if default is not None and self.units is None:
 self.set_units(default)
@@ -955,7 +955,7 @@
 if self.converter is None:
 return
 
-info = self.converter.axisinfo(self.units)
+info = self.converter.axisinfo(self, self.units)
 if info is None:
 return
 if info.majloc is not None and self.major.locator!=info.majloc:
@@ -982,7 +982,7 @@
 #print 'convert_units returning identity: units=%s, 
converter=%s'%(self.units, self.converter)
 return x
 
-ret =  self.converter.convert(x, self.units)
+ret =  self.converter.convert(self, x, self.units)
 #print 'convert_units converting: axis=%s, units=%s, converter=%s, 
in=%s, out=%s'%(self, self.units, self.converter, x, ret)
 return ret
 

Modified: trunk/matplotlib/lib/matplotlib/dates.py
===
--- trunk/matplotlib/lib/matplotlib/dates.py2009-01-27 17:41:33 UTC (rev 
6843)
+++ trunk/matplotlib/lib/matplotlib/dates.py2009-01-28 17:55:07 UTC (rev 
6844)
@@ -1004,29 +1004,56 @@
 
 
 class DateConverter(units.ConversionInterface):
+"""The units are equivalent to the timezone."""
 
 @staticmethod
-def axisinfo(unit):
+def axisinfo(axis, unit):
 'return the unit AxisInfo'
-if unit=='date':
-majloc = AutoDateLocator()
-majfmt = AutoDateFormatter(majloc)
-return units.AxisInfo(
-majloc = majloc,
-majfmt = majfmt,
-label='',
-)
-else: return None
+# make sure that the axis does not start at 0
+ax = axis.axes
 
+if axis is ax.get_xaxis():
+xmin, xmax = ax.dataLim.intervalx
+if xmin==0.:
+# no data has been added - let's set the default datalim.
+# We should probably use a better proxy for the datalim
+# have been updated than the ignore setting
+dmax = today = datetime.date.today()
+dmin = today-datetime.timedelta(days=10)
+
+ax._process_unit_info(xdata=(dmin, dmax))
+dmin, dmax = ax.convert_xunits([dmin, dmax])
+
+ax.viewLim.intervalx = dmin, dmax
+ax.dataLim.intervalx = dmin, dmax
+elif axis is ax.get_yaxis():
+ymin, ymax = ax.dataLim.intervaly
+if ymin==0.:
+# no data has been added - let's set the default datalim.
+# We should probably use a better proxy for the datalim
+# have been updated than the ignore setting
+dmax = today = datetime.date.today()
+dmin = today-datetime.timedelta(days=10)
+
+ax._process_unit_info(ydata=(dmin, dmax))
+dmin, dmax = ax.convert_yunits([dmin, dmax])
+
+ax.viewLim.intervaly = dmin, dmax
+ax.dataLim.intervaly = dmin, dmax
+
+majloc = AutoDateLocator(tz=unit)
+majfmt = AutoDateFormatter(majloc, tz=unit)
+return units.AxisInfo( majloc=majloc, majfmt=majfmt, label='' )
+
 @staticmethod
-def convert(value, unit):
+def convert(axis, value, unit):
 if units.ConversionInterface.is_numlike(value): return value
 return date2num(value)
 
 @staticmethod
-def default_units(x):
+def default_units(axis, x):
 'Return the default unit for *x* or None'
-return 'date'
+return None
 
 
 units.registry[datetime.date] = DateConverter()

Modified: trunk/matplotlib/lib/matplotlib/units.py
===
--- trunk/matplotlib/lib/matplotlib/units.py

SF.net SVN: matplotlib:[6845] trunk/matplotlib/lib/matplotlib/cbook.py

2009-01-28 Thread jdh2358
Revision: 6845
  http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6845&view=rev
Author:   jdh2358
Date: 2009-01-28 20:39:18 + (Wed, 28 Jan 2009)

Log Message:
---
changed the default file handle to open in universal mode

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

Modified: trunk/matplotlib/lib/matplotlib/cbook.py
===
--- trunk/matplotlib/lib/matplotlib/cbook.py2009-01-28 17:55:07 UTC (rev 
6844)
+++ trunk/matplotlib/lib/matplotlib/cbook.py2009-01-28 20:39:18 UTC (rev 
6845)
@@ -302,7 +302,7 @@
 except TypeError: return False
 else: return True
 
-def to_filehandle(fname, flag='r', return_opened=False):
+def to_filehandle(fname, flag='rU', return_opened=False):
 """
 *fname* can be a filename or a file handle.  Support for gzipped
 files is automatic, if the filename ends in .gz.  *flag* is a


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:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
___
Matplotlib-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins