Register pandas formatters and converters with matplotlib.

This function modifies the global matplotlib.units.registry dictionary. pandas adds custom converters for

  • pd.Timestamp

  • pd.Period

  • np.datetime64

  • datetime.datetime


  • datetime.time

See also


Remove pandas formatters and converters.


The following line is done automatically by pandas so the plot can be rendered:

>>> pd.plotting.register_matplotlib_converters()
>>> df = pd.DataFrame({'ts': pd.period_range('2020', periods=2, freq='M'),
...                    'y': [1, 2]
...                    })
>>> plot = df.plot.line(x='ts', y='y')

Unsetting the register manually an error will be raised:

>>> pd.set_option("plotting.matplotlib.register_converters",
...               False)  
>>> df.plot.line(x='ts', y='y')  
Traceback (most recent call last):
TypeError: float() argument must be a string or a real number, not 'Period'