.. _units-date_support:

units example code: date_support.py
===================================



.. plot:: /tmp/buildd/matplotlib-0.99.3/doc/mpl_examples/units/date_support.py

::

    import matplotlib
    matplotlib.rcParams['units'] = True
    from matplotlib.cbook import iterable, is_numlike
    import matplotlib.units as units
    import matplotlib.dates as dates
    import matplotlib.ticker as ticker
    import datetime
    
    class DateConverter(units.ConversionInterface):
    
        @staticmethod
        def axisinfo(unit, axis):
            'return the unit AxisInfo'
            if unit=='date':
                majloc = dates.AutoDateLocator()
                majfmt = dates.AutoDateFormatter(majloc)
                return units.AxisInfo(
                    majloc = majloc,
                    majfmt = majfmt,
                    label='date',
                    )
            else: return None
    
        @staticmethod
        def convert(value, unit, axis):
            if units.ConversionInterface.is_numlike(value): return value
            return dates.date2num(value)
    
        @staticmethod
        def default_units(x, axis):
            'return the default unit for x or None'
            return 'date'
    
    
    units.registry[datetime.date] = DateConverter()
    units.registry[datetime.datetime] = DateConverter()
    

Keywords: python, matplotlib, pylab, example, codex (see :ref:`how-to-search-examples`)