Closed
Description
When using plot_date in the agg backend I get the following error: ValueError: ordinal must be >= 1. The problem does arise in matplotlib 1.5.1 (winpython 2.7.10.3), but not in 1.4.3 (winpython 2.7.10.2).
import matplotlib as mpl
import matplotlib.pyplot as plt
import datetime
plt.switch_backend('agg')
#plt.switch_backend('qt4agg')
x = [datetime.datetime(2013,12,i) for i in range(1, 11)]
y = range(len(x))
plt.plot_date(x,y)
Stack trace:
File "D:/Python/untitled1.py", line 19, in <module>
plt.plot_date(x,y)
File "C:\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\lib\site-packages\matplotlib\pyplot.py", line 3173, in plot_date
data=data, **kwargs)
File "C:\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\lib\site-packages\matplotlib\__init__.py", line 1812, in inner
return func(ax, *args, **kwargs)
File "C:\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\lib\site-packages\matplotlib\axes\_axes.py", line 1494, in plot_date
ret = self.plot(x, y, fmt, **kwargs)
File "C:\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\lib\site-packages\matplotlib\__init__.py", line 1812, in inner
return func(ax, *args, **kwargs)
File "C:\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\lib\site-packages\matplotlib\axes\_axes.py", line 1424, in plot
for line in self._get_lines(*args, **kwargs):
File "C:\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\lib\site-packages\matplotlib\axes\_base.py", line 386, in _grab_next_args
for seg in self._plot_args(remaining, kwargs):
File "C:\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\lib\site-packages\matplotlib\axes\_base.py", line 364, in _plot_args
x, y = self._xy_from_xy(x, y)
File "C:\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\lib\site-packages\matplotlib\axes\_base.py", line 197, in _xy_from_xy
bx = self.axes.xaxis.update_units(x)
File "C:\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\lib\site-packages\matplotlib\axis.py", line 1394, in update_units
self._update_axisinfo()
File "C:\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\lib\site-packages\matplotlib\axis.py", line 1412, in _update_axisinfo
self.set_major_locator(info.majloc)
File "C:\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\lib\site-packages\matplotlib\axis.py", line 1513, in set_major_locator
self.stale = True
File "C:\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\lib\site-packages\matplotlib\artist.py", line 267, in stale
self.stale_callback(self, val)
File "C:\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\lib\site-packages\matplotlib\artist.py", line 74, in _stale_axes_callback
self.axes.stale = val
File "C:\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\lib\site-packages\matplotlib\artist.py", line 267, in stale
self.stale_callback(self, val)
File "C:\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\lib\site-packages\matplotlib\figure.py", line 56, in _stale_figure_callback
self.figure.stale = val
File "C:\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\lib\site-packages\matplotlib\artist.py", line 267, in stale
self.stale_callback(self, val)
File "C:\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\lib\site-packages\matplotlib\pyplot.py", line 568, in _auto_draw_if_interactive
fig.canvas.draw_idle()
File "C:\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\lib\site-packages\matplotlib\backend_bases.py", line 2026, in draw_idle
self.draw(*args, **kwargs)
File "C:\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\lib\site-packages\matplotlib\backends\backend_agg.py", line 474, in draw
self.figure.draw(self.renderer)
File "C:\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\lib\site-packages\matplotlib\artist.py", line 61, in draw_wrapper
draw(artist, renderer, *args, **kwargs)
File "C:\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\lib\site-packages\matplotlib\figure.py", line 1159, in draw
func(*args)
File "C:\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\lib\site-packages\matplotlib\artist.py", line 61, in draw_wrapper
draw(artist, renderer, *args, **kwargs)
File "C:\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\lib\site-packages\matplotlib\axes\_base.py", line 2324, in draw
a.draw(renderer)
File "C:\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\lib\site-packages\matplotlib\artist.py", line 61, in draw_wrapper
draw(artist, renderer, *args, **kwargs)
File "C:\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\lib\site-packages\matplotlib\axis.py", line 1106, in draw
ticks_to_draw = self._update_ticks(renderer)
File "C:\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\lib\site-packages\matplotlib\axis.py", line 949, in _update_ticks
tick_tups = [t for t in self.iter_ticks()]
File "C:\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\lib\site-packages\matplotlib\axis.py", line 892, in iter_ticks
majorLocs = self.major.locator()
File "C:\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\lib\site-packages\matplotlib\dates.py", line 1006, in __call__
self.refresh()
File "C:\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\lib\site-packages\matplotlib\dates.py", line 1026, in refresh
dmin, dmax = self.viewlim_to_dt()
File "C:\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\lib\site-packages\matplotlib\dates.py", line 770, in viewlim_to_dt
return num2date(vmin, self.tz), num2date(vmax, self.tz)
File "C:\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\lib\site-packages\matplotlib\dates.py", line 419, in num2date
return _from_ordinalf(x, tz)
File "C:\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\lib\site-packages\matplotlib\dates.py", line 271, in _from_ordinalf
dt = datetime.datetime.fromordinal(ix).replace(tzinfo=UTC)
ValueError: ordinal must be >= 1