Revision: 5383
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=5383&view=rev
Author: jdh2358
Date: 2008-06-04 10:49:17 -0700 (Wed, 04 Jun 2008)
Log Message:
-----------
try to handle xaxis_date more gracefully when no data has been added
Modified Paths:
--------------
branches/v0_91_maint/lib/matplotlib/axes.py
branches/v0_91_maint/src/_transforms.cpp
branches/v0_91_maint/src/_transforms.h
Modified: branches/v0_91_maint/lib/matplotlib/axes.py
===================================================================
--- branches/v0_91_maint/lib/matplotlib/axes.py 2008-06-04 16:53:48 UTC (rev
5382)
+++ branches/v0_91_maint/lib/matplotlib/axes.py 2008-06-04 17:49:17 UTC (rev
5383)
@@ -1,5 +1,5 @@
from __future__ import division, generators
-import math, sys, warnings
+import math, sys, warnings, datetime
import numpy as npy
@@ -1858,10 +1858,25 @@
tz is the time zone to use in labeling dates. Defaults to rc value.
"""
+ if self.dataLim.is_ignore():
+ # 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)
+ self._process_unit_info(xdata=(dmin, dmax))
+
+ dmin, dmax = self.convert_xunits([dmin, dmax])
+
+ self.viewLim.intervalx().set_bounds(dmin, dmax)
+ self.viewLim.intervalx().set_bounds(dmin, dmax)
+
+
locator = self.xaxis.get_major_locator()
if not isinstance(locator, mdates.DateLocator):
locator = mdates.AutoDateLocator(tz)
self.xaxis.set_major_locator(locator)
+ locator.refresh()
formatter = self.xaxis.get_major_formatter()
if not isinstance(formatter, mdates.DateFormatter):
@@ -1873,11 +1888,24 @@
tz is the time zone to use in labeling dates. Defaults to rc value.
"""
+ if self.dataLim.is_ignore():
+ # 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)
+ self._process_unit_info(xdata=(dmin, dmax))
+ dmin, dmax = self.convert_xunits([dmin, dmax])
+ self.viewLim.intervaly().set_bounds(dmin, dmax)
+ self.viewLim.intervaly().set_bounds(dmin, dmax)
+
+
locator = self.yaxis.get_major_locator()
if not isinstance(locator, mdates.DateLocator):
locator = mdates.AutoDateLocator(tz)
self.yaxis.set_major_locator(locator)
+ locator.refresh()
formatter = self.xaxis.get_major_formatter()
if not isinstance(formatter, mdates.DateFormatter):
Modified: branches/v0_91_maint/src/_transforms.cpp
===================================================================
--- branches/v0_91_maint/src/_transforms.cpp 2008-06-04 16:53:48 UTC (rev
5382)
+++ branches/v0_91_maint/src/_transforms.cpp 2008-06-04 17:49:17 UTC (rev
5383)
@@ -348,6 +348,13 @@
}
Py::Object
+Bbox::is_ignore(const Py::Tuple &args) {
+ _VERBOSE("Bbox::ignore");
+ args.verify_length(0);
+ return Py::Int(_ignore);
+}
+
+Py::Object
Bbox::overlapsx(const Py::Tuple &args, const Py::Dict &kwargs) {
_VERBOSE("Bbox::overlapsx");
args.verify_length(1);
@@ -2349,6 +2356,7 @@
add_varargs_method("ymin", &Bbox::ymin, "ymin()\n");
add_varargs_method("ignore", &Bbox::ignore, "ignore(int)");
+ add_varargs_method("is_ignore", &Bbox::is_ignore, "is_ignore()");
add_varargs_method("scale", &Bbox::scale, "scale(sx,sy)");
add_varargs_method("deepcopy", &Bbox::deepcopy, "deepcopy()\n");
}
Modified: branches/v0_91_maint/src/_transforms.h
===================================================================
--- branches/v0_91_maint/src/_transforms.h 2008-06-04 16:53:48 UTC (rev
5382)
+++ branches/v0_91_maint/src/_transforms.h 2008-06-04 17:49:17 UTC (rev
5383)
@@ -357,8 +357,11 @@
//set the ignore attr
Py::Object ignore(const Py::Tuple &args);
+ //return the ignore setting
+ Py::Object is_ignore(const Py::Tuple &args);
+
Point* ll_api() {return _ll;}
Point* ur_api() {return _ur;}
private:
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Matplotlib-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins