'view limit minimum 0.0 is less than 1 with matplotlib
I know there are similar questions to mine below, but mine is minimal and does not have anything to do with pandas and also solution pd.to_datetime did not work (if I try it with pandas).
Here is my code:
import datetime
import matplotlib.pyplot as plt
plt.plot([datetime.datetime(2020, 5, 17), datetime.datetime(2020, 5, 18)], [2,3])
It generates the following error:
Traceback (most recent call last):
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\IPython\core\interactiveshell.py", line 3552, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-24-c099998bb2c0>", line 1, in <module>
plt.plot([datetime.datetime(2020, 5, 17), datetime.datetime(2020, 5, 18)], [2,3])
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib\pyplot.py", line 2789, in plot
is not None else {}), **kwargs)
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib\axes\_axes.py", line 1665, in plot
lines = [*self._get_lines(*args, data=data, **kwargs)]
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib\axes\_base.py", line 225, in __call__
yield from self._plot_args(this, kwargs)
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib\axes\_base.py", line 391, in _plot_args
x, y = self._xy_from_xy(x, y)
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib\axes\_base.py", line 243, in _xy_from_xy
bx = self.axes.xaxis.update_units(x)
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib\axis.py", line 1498, in update_units
self._update_axisinfo()
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib\axis.py", line 1516, in _update_axisinfo
self.set_major_locator(info.majloc)
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib\axis.py", line 1651, in set_major_locator
self.stale = True
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib\artist.py", line 230, in stale
self.stale_callback(self, val)
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib\artist.py", line 51, in _stale_axes_callback
self.axes.stale = val
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib\artist.py", line 230, in stale
self.stale_callback(self, val)
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib\figure.py", line 51, in _stale_figure_callback
self.figure.stale = val
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib\artist.py", line 230, in stale
self.stale_callback(self, val)
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib\pyplot.py", line 589, in _auto_draw_if_interactive
fig.canvas.draw_idle()
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib\backend_bases.py", line 1914, in draw_idle
self.draw(*args, **kwargs)
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib\backends\backend_agg.py", line 388, in draw
self.figure.draw(self.renderer)
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib\artist.py", line 38, in draw_wrapper
return draw(artist, renderer, *args, **kwargs)
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib\figure.py", line 1709, in draw
renderer, self, artists, self.suppressComposite)
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib\image.py", line 135, in _draw_list_compositing_images
a.draw(renderer)
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib\artist.py", line 38, in draw_wrapper
return draw(artist, renderer, *args, **kwargs)
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib\axes\_base.py", line 2647, in draw
mimage._draw_list_compositing_images(renderer, self, artists)
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib\image.py", line 135, in _draw_list_compositing_images
a.draw(renderer)
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib\artist.py", line 38, in draw_wrapper
return draw(artist, renderer, *args, **kwargs)
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib\axis.py", line 1203, in draw
ticks_to_draw = self._update_ticks()
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib\axis.py", line 1079, in _update_ticks
major_locs = self.get_majorticklocs()
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib\axis.py", line 1324, in get_majorticklocs
return self.major.locator()
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib\dates.py", line 1428, in __call__
self.refresh()
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib\dates.py", line 1448, in refresh
dmin, dmax = self.viewlim_to_dt()
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib\dates.py", line 1199, in viewlim_to_dt
.format(vmin))
ValueError: view limit minimum 0.0 is less than 1 and is an invalid Matplotlib date value. This often happens if you pass a non-datetime value to an axis that has datetime units
Traceback (most recent call last):
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib_inline\backend_inline.py", line 121, in flush_figures
return show(True)
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib_inline\backend_inline.py", line 43, in show
metadata=_fetch_figure_metadata(figure_manager.canvas.figure)
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib_inline\backend_inline.py", line 232, in _fetch_figure_metadata
for axes in fig.axes
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib_inline\backend_inline.py", line 234, in <listcomp>
for label in axis.get_ticklabels()])
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib\axis.py", line 1296, in get_ticklabels
return self.get_majorticklabels()
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib\axis.py", line 1252, in get_majorticklabels
ticks = self.get_major_ticks()
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib\axis.py", line 1407, in get_major_ticks
numticks = len(self.get_majorticklocs())
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib\axis.py", line 1324, in get_majorticklocs
return self.major.locator()
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib\dates.py", line 1428, in __call__
self.refresh()
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib\dates.py", line 1448, in refresh
dmin, dmax = self.viewlim_to_dt()
File "C:\Users\someuser\.conda\envs\env1\lib\site-packages\matplotlib\dates.py", line 1199, in viewlim_to_dt
.format(vmin))
ValueError: view limit minimum 0.0 is less than 1 and is an invalid Matplotlib date value. This often happens if you pass a non-datetime value to an axis that has datetime units
Any way to fix it?
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
