Skip to content

plot() with two localized time series with no common values gives matplotlib error #12047

@davidallenmann

Description

@davidallenmann

To reproduce:

import numpy as np
import pandas as pd
import pytz
import matplotlib.pyplot as plt

pd.show_versions()
values = np.arange(10)
start1 = '2015-02-21 00:00:00'
start2 = '2015-02-21 00:30:00'
index1 = pd.date_range(start1, periods=len(values), freq='h')
index2 = pd.date_range(start2, periods=len(values), freq='h')
df1 = pd.DataFrame(values, index1)
df2 = pd.DataFrame(values, index2)
df1 = df1.tz_localize(pytz.FixedOffset(0))
df2 = df2.tz_localize(pytz.FixedOffset(0))
ax2 = df1.plot()
df2.plot(ax=ax2)
INSTALLED VERSIONS
------------------
commit: None
python: 3.4.4.final.0
python-bits: 64
OS: Darwin
OS-release: 15.2.0
machine: x86_64
processor: i386
byteorder: little
LC_ALL: None
LANG: en_US.UTF-8

pandas: 0.17.1
nose: 1.3.7
pip: 7.1.2
setuptools: 19.2
Cython: None
numpy: 1.10.2
scipy: 0.16.0
statsmodels: None
IPython: 3.1.0
sphinx: 1.2.3
patsy: None
dateutil: 2.4.2
pytz: 2015.7
blosc: None
bottleneck: None
tables: 3.2.2
numexpr: 2.4.4
matplotlib: 1.5.1
openpyxl: None
xlrd: 0.9.3
xlwt: None
xlsxwriter: None
lxml: None
bs4: 4.4.1
html5lib: 0.9999999
httplib2: None
apiclient: None
sqlalchemy: None
pymysql: None
psycopg2: None
Jinja2: 2.7.3
Traceback (most recent call last):
  File "pandasPlotBug.py", line 31, in <module>
    df2.plot(ax=ax2)
  File "/Users/dmann/miniconda3/lib/python3.4/site-packages/pandas/tools/plotting.py", line 3671, in __call__
    sort_columns=sort_columns, **kwds)
  File "/Users/dmann/miniconda3/lib/python3.4/site-packages/pandas/tools/plotting.py", line 2556, in plot_frame
    **kwds)
  File "/Users/dmann/miniconda3/lib/python3.4/site-packages/pandas/tools/plotting.py", line 2384, in _plot
    plot_obj.generate()
  File "/Users/dmann/miniconda3/lib/python3.4/site-packages/pandas/tools/plotting.py", line 987, in generate
    self._make_plot()
  File "/Users/dmann/miniconda3/lib/python3.4/site-packages/pandas/tools/plotting.py", line 1664, in _make_plot
    **kwds)
  File "/Users/dmann/miniconda3/lib/python3.4/site-packages/pandas/tools/plotting.py", line 1678, in _plot
    lines = MPLPlot._plot(ax, x, y_values, style=style, **kwds)
  File "/Users/dmann/miniconda3/lib/python3.4/site-packages/pandas/tools/plotting.py", line 1300, in _plot
    return ax.plot(*args, **kwds)
  File "/Users/dmann/miniconda3/lib/python3.4/site-packages/matplotlib/__init__.py", line 1812, in inner
    return func(ax, *args, **kwargs)
  File "/Users/dmann/miniconda3/lib/python3.4/site-packages/matplotlib/axes/_axes.py", line 1424, in plot
    for line in self._get_lines(*args, **kwargs):
  File "/Users/dmann/miniconda3/lib/python3.4/site-packages/matplotlib/axes/_base.py", line 386, in _grab_next_args
    for seg in self._plot_args(remaining, kwargs):
  File "/Users/dmann/miniconda3/lib/python3.4/site-packages/matplotlib/axes/_base.py", line 364, in _plot_args
    x, y = self._xy_from_xy(x, y)
  File "/Users/dmann/miniconda3/lib/python3.4/site-packages/matplotlib/axes/_base.py", line 197, in _xy_from_xy
    bx = self.axes.xaxis.update_units(x)
  File "/Users/dmann/miniconda3/lib/python3.4/site-packages/matplotlib/axis.py", line 1391, in update_units
    self.set_units(default)
  File "/Users/dmann/miniconda3/lib/python3.4/site-packages/matplotlib/axis.py", line 1461, in set_units
    self.callbacks.process('units')
  File "/Users/dmann/miniconda3/lib/python3.4/site-packages/matplotlib/cbook.py", line 563, in process
    proxy(*args, **kwargs)
  File "/Users/dmann/miniconda3/lib/python3.4/site-packages/matplotlib/cbook.py", line 430, in __call__
    return mtd(*args, **kwargs)
  File "/Users/dmann/miniconda3/lib/python3.4/site-packages/matplotlib/lines.py", line 604, in recache_always
    self.recache(always=True)
  File "/Users/dmann/miniconda3/lib/python3.4/site-packages/matplotlib/lines.py", line 612, in recache
    x = np.asarray(xconv, np.float_)
  File "/Users/dmann/miniconda3/lib/python3.4/site-packages/numpy/core/numeric.py", line 474, in asarray
    return array(a, dtype, copy=False, order=order)
TypeError: float() argument must be a string or a number, not 'pandas._period.Period'

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions